Résolu Ouvrir un fichier .txt vba

Solutions (5)
Tags :
  • Integer
  • string
  • Programmation
|
Bonjour a tous,

voilà mon problème, somme toute basique pour un programmeur confirmé je pense : j'ai un formulaire avec différents boutons, dont le bouton fermer. Lorsque l'on clique sur ce bouton, j'aimerais que le formulaire se ferme, que mon formulaire d'acceuil s'ouvre (jusque là, j'y arrive très bien :D  ), et qu'un fichier texte existant s'ouvre pour que je puisse ajouter quelque chose dedans.
Voici mon code :

Private Sub btn_fermer_Click()
On Error GoTo Err_btn_fermer_Click

Dim stDocName As String
Dim stLinkCriteria As String
Dim intFic As Integer
intFic = FreeFile

DoCmd.Close
stDocName = "Formulaire_accueil"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Open "Y:\mouvementdestock.txt" For Append As intFic

Exit_btn_fermer_Click:
Exit Sub

Err_btn_fermer_Click:
MsgBox Err.Description
Resume Exit_btn_fermer_Click

End Sub

Le problème est que le fichier ne s'ouvre pas et qu'à la place une boite de dialogue s'ouvre et me dit que le fichier est déjà ouvert :??:  :??: 

D'avance merci à ceux qui passeront quelques minutes à m'aider.
Contenus similaires
Meilleure solution
partage
|
Alors, soit tu le fais automatiquement à l'aide des fonctions données dans le premier lien ( http://www.applecore99.com/gen/gen029.asp ) + la date + l'opérateur de concaténation, soit tu remplaces simplement ta ligne:
Open "Y:\mouvementdestock.txt" For Append As intFic
par:
Call Shell("notepad.exe Y:\mouvementdestock.txt", vbNormalFocus)
Pas testé, je n'ai plus excel sur mes machines, mais ça devrait marcher. Après bien sur c'est très sale et plutôt moche, et ça peut être raffiné (si le fichier change de place...), mais ça devrait faire l'affaire.
  • Commenter cette solution |
Score
0
òh
òi
|
Merci beaucoup, j'ai pris la solution la plus moche :D , mais elle fonctionne. Cette appli n'étant utilisée que par moi, et pas trop souvent, je devrais m'en contenter amplement... Encore merci
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci je vais regarder à ces liens...
Tu as raison, vba c'est l'horreur, mais il fallait développer une application pour le boulot pour gérer un stock (de façon assez sommaire) et access me paraissait suffisant...
Voilà ce que je veux faire en détail : j'ai un formulaire d'accueil a partir duquel je peux ouvrir d'autres formulaires pour ajouter/retirer/ modifier des articles du stock. Et moi, j'aimerais que lorsque j'ai fini d'ajouter ou supprimer des articles, je puisse fermer mon formulaire et ouvrir un fichier texte déjà existant afin d'y ajouter une phrase du style "Articles ajoutés le 01/01/01 à 00h00".
J'espère avoir été clair. Merci d'avance
  • Commenter cette réponse |
Score
0
òh
òi
|
Citation :
Open "Y:\mouvementdestock.txt" For Append As intFic

Avec cette ligne tu "ouvres" ton fichier dans ton code, c'est à dire que tu récupères un entier stocké dans intFic qui te permettra d'y accéder. Avec intFic tu pourras faire des read et des write sur ton fichier depuis ton code.
La documentation pour ces fonctions:
http://www.applecore99.com/gen/gen029.asp

Maintenant ça fait trop longtemps que je n'ai plus touché à cette erreur/horreur qu'est VBA, alors je ne me souviens plus trop de la syntaxe exacte.
Si ce que tu veux, c'est simplement ouvrir un petit éditeur pour changer ton texte, tu pourrais lancer notepad avec la fonction exec(); de je ne sais plus quel objet de scripting:
http://msdn.microsoft.com/en-us/library/ateytk4a%28VS.8...
Ou alors, c'est peut être possible avec celle-là:
http://msdn.microsoft.com/en-us/library/xe736fyk%28VS.7...

Pourrais tu décrire ton problème plus en détail: que veux-tu ajouter/éditer? Est-ce que tu peux savoir à l'avance ce que tu vas changer? Ca me permettra de te donner plus de détails.
  • Commenter cette réponse |
Score
0
òh
òi
|
Personne pour m'aider?
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS