Recherche de macro pour ouverture fichier
Résolu/Fermé
Inguyone
-
22 janv. 2010 à 08:25
Inguyone Messages postés 14 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 30 janvier 2011 - 24 janv. 2010 à 08:29
Inguyone Messages postés 14 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 30 janvier 2011 - 24 janv. 2010 à 08:29
A voir également:
- Recherche de macro pour ouverture fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir fichier .bin - Guide
1 réponse
Salut
Note que les arguments que tu donnes à tes instructions chdir et Open sont des chaînes de caractères.
En règle générale, là où on peut mettre une chaîne de caractères, on peut mettre une variable chaîne de caractères et plus généralement une expression chaîne de caractères.
exemples d'expression chaîne de caractères :
* "C:\Users\Pat\Documents\Test\Patrick\Data.xls"
* monNom (après avoir fait monNom = "fiu")
* "Salut " & monNom (si monNom contient "fiu", le résultat sera "Salut fiu")
* "Salut" & monNom & ", comment vas-tu ?"
Si l'on cherche à se rapprocher de ton pb: si une variable Nom contient le nom d'une personne, alors l'expression "C:\Users\Pat\Documents\Test\" & Nom & "\Data.xls" contiendra l'argument dont tu as besoin.
La cerise sur le gateau : si la Cellule C9 contient "fiu", la fonction Cells(9, 3) te donnera "fiu" (Cells n'est pas vraiment une expression chaîne de caractères, mais là, elle en joue le rôle)
Finalement, si Macro1 contient
SUB Macro1()
Nom = Cells(9, 3)
nomDuFichier = "C:\Users\Pat\Documents\Test\" & Nom & "\Data.xls"
Workbooks.Open Filename:= nomDuFichier
END SUB
tu auras enfin une macro "configurable" par la cellule C9
... et tu peux simplifier en disant
nomDuFichier = "C:\Users\Pat\Documents\Test\" & Cells(9, 3) & "\Data.xls" là, tu n'as plus besoin de la variable Nom
... voire plus en faisant
Workbooks.Open Filename:= "C:\Users\Pat\Documents\Test\" & Cells(9, 3) & "\Data.xls" et là tu n'as plus besoin de nomDuFichier
nb: comme je suis pas un Kador en Excel, vérifie que C9 est bien récupéré par Cells(9, 3)... des fois que ce soit Cells(3, 9)
ps: t'es pas dans le bon forum, ton pb relève soit de bureautique soit de programmation.
Note que les arguments que tu donnes à tes instructions chdir et Open sont des chaînes de caractères.
En règle générale, là où on peut mettre une chaîne de caractères, on peut mettre une variable chaîne de caractères et plus généralement une expression chaîne de caractères.
exemples d'expression chaîne de caractères :
* "C:\Users\Pat\Documents\Test\Patrick\Data.xls"
* monNom (après avoir fait monNom = "fiu")
* "Salut " & monNom (si monNom contient "fiu", le résultat sera "Salut fiu")
* "Salut" & monNom & ", comment vas-tu ?"
Si l'on cherche à se rapprocher de ton pb: si une variable Nom contient le nom d'une personne, alors l'expression "C:\Users\Pat\Documents\Test\" & Nom & "\Data.xls" contiendra l'argument dont tu as besoin.
La cerise sur le gateau : si la Cellule C9 contient "fiu", la fonction Cells(9, 3) te donnera "fiu" (Cells n'est pas vraiment une expression chaîne de caractères, mais là, elle en joue le rôle)
Finalement, si Macro1 contient
SUB Macro1()
Nom = Cells(9, 3)
nomDuFichier = "C:\Users\Pat\Documents\Test\" & Nom & "\Data.xls"
Workbooks.Open Filename:= nomDuFichier
END SUB
tu auras enfin une macro "configurable" par la cellule C9
... et tu peux simplifier en disant
nomDuFichier = "C:\Users\Pat\Documents\Test\" & Cells(9, 3) & "\Data.xls" là, tu n'as plus besoin de la variable Nom
... voire plus en faisant
Workbooks.Open Filename:= "C:\Users\Pat\Documents\Test\" & Cells(9, 3) & "\Data.xls" et là tu n'as plus besoin de nomDuFichier
nb: comme je suis pas un Kador en Excel, vérifie que C9 est bien récupéré par Cells(9, 3)... des fois que ce soit Cells(3, 9)
ps: t'es pas dans le bon forum, ton pb relève soit de bureautique soit de programmation.
23 janv. 2010 à 08:58
Merci pour ces renseignements précieux, je vais essayé cette solution. Et sorry pour l'emplacement de mon message, ceci est une première pour moi. Bonne journée
24 janv. 2010 à 08:29
Super cela fonctionne et je t'en remercie.
Bonne journée