Macro OuvrirDonnées
A l'aide de l'Enregistreur (Nom de la macro=OuvrirDonnées), effectuer les opérations suivantes :
- Ouvrir le fichier : module31.txt (Type de fichier: Fichiers Texte)
répondre Fin à l'assistant Importation de texte,
- Copier la première feuille et renommer cette copie : Commandes.
Voici le texte de la macro :
' ' OuvrirDonnées Macro ' Macro enregistrée le 24/10/96 par Jean-Marie Lambert ' ' Sub OuvrirDonnées() Workbooks.OpenText Filename:= _ (1) "C:\SEMINAIR\Excel\MODULE31.TXT", _ Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _ Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _ Other:=False, FieldInfo:=Array(1, 1) Sheets("MODULE31").Select (2) Sheets("MODULE31").Copy After:=Sheets(1) (3) Sheets("MODULE31 (2)").Select (4) Sheets("MODULE31 (2)").Name = "Commandes" (5) End SubCette procédure présente l'inconvénient de toujours ouvrir le fichier module31.txt, qui se trouve dans le répertoire ... (instruction 1) et de toujours utiliser le classeur module31.txt lors de la copie de la feuille 1 (instruction 3).
On peut modifier le code de la façon suivante :
remplacer l'instruction 1 Workbooks.OpenText Filename:= ...par les instructions :
FichierTxt = InputBox("Nom du fichier à ouvrir : ", _ "Ouvrir un fichier", "module31.txt") if FichierTxt <> "" then Workbooks.OpenText Filename:=FichierTxtsupprimer les instructions 2 et 4 et
remplacer dans les instructions 3 et 5 le texte :
"MODULE31" et "MODULE31 (2)"par respectivement :
1 et 2et terminer l'instruction if en ajoutant End if avant l'instruction End Sub.
Si on désire passer comme paramètre le nom du fichier par défaut, on peut définir un paramètre qu'il faudra donner à cette procédure.
Voici le texte de la macro :
Sub OuvrirDonnées(FichierDéfaut) FichierTxt = InputBox( _ "Nom du fichier à ouvrir : ", _ "Ouvrir un fichier", _ FichierDéfaut) If FichierTxt <> "" Then Workbooks.OpenText Filename:=FichierTxt Sheets(1).Copy After:=Sheets(1) Sheets(2).Name = "Commandes" End If End SubOn pourra appeler cette procédure de la façon suivante :
OuvrirDonnées("Module31.txt") ou OuvrirDonnées FichierDéfaut:= "Module31.txt"Que se passe-t-il si le fichier (FichierTxt) n'existe pas ? La procédure s'arrête avec le message d'erreur suivant :
![]()
Dans une procédure on peut utiliser les boîtes de dialogue d'Excel.
- Par exemple :
- Application.Dialogs(xlDialogOpen).Show
- permet d'utiliser la boîte de dialogue de la commande : Ouvrir.../Fichier. Si on écrit :
- CodeRetour = Application.Dialogs(xlDialogOpen).Show
- la variable CodeRetour va recevoir la valeur True si Excel a ouvert le fichier ou la valeur False si l'utilisateur a répondu Annuler.
Revenir à "Exemple de macro commande"