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
Bonjour à tous,

Je suis novice et j'ai enregistré une macro qui à partir d'une base de donnée de noms me permet d'aller chercher et ouvrir un fichier correspondant au nom de cette personne.
Sub Macro1()

ChDir "C:\Users\Pat\Documents\Test\Patrick"
Workbooks.Open Filename:= _
"C:\Users\Pat\Documents\Test\Patrick\Data.xls"
End Sub

Le problème est que pour chaques noms, je dois créer une macro et de plus je ne peux plus ranger mes données par ordre alpha.
Je voudrais, à partir d'une cellule unique, pouvoir faire une recherche en introduisant un nom dans cette cellule et qu'une macro me permette d'ouvrir le fichier correspondant à partir de cette base de données.
Merci pour votre aide
A voir également:

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.
0
Inguyone Messages postés 14 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 30 janvier 2011
23 janv. 2010 à 08:58
Bonjour,
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
0
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
Bonjour Fiu,
Super cela fonctionne et je t'en remercie.
Bonne journée
0