Bonjour à tous !
Je suis débutant en VBA et je voudrais faire une macro qui va chercher des informations dans un classeur, et les ramène dans celui en cours d'utilisation.
En pratique, ça donnerait ça:
Depuis le classeur A, je clique sur un bouton m'ouvrant la fenêtre de dialogue "ouvrir". Je choisis le classeur B (qui n'est pas forcément dans le même répertoire que le classeur A).
A partir de là, la macro va chercher les informations souhaitées dans le classeur B (celles ci n'ont pas une position "fixe", une recherche est donc nécessaire).
Puis la macro ramène les informations trouvées et remplie les cellules du classeur A.
Au cas où, je vous ai joint 2 classeurs résumant ça.
J'espère être à peu près clair...
Pour l'instant, j'ai trouvé des bouts de code permettant d'ouvrir la fenêtre "ouvrir" (justement), avec GetOpenFilename, et une fonction qui récupère le contenu d'une cellule dans un fichier nommé:
Le problème est que GetOpenFilename retourne une "application" (selon l'aide microsoft), et je n'arrive pas à en extraire le chemin et le nom du fichier. Donc le code au dessus, dans l'état, est inutilisable.
Autre problème, ce code ne prend le contenu que d'une cellule déterminée, or je dois d'abord effectuer une recherche pour trouver cette cellule. (mais chaque chose en son temps)
Si vous avez des idées pour m'aider, je suis preneur
Merci d'avance
Je suis débutant en VBA et je voudrais faire une macro qui va chercher des informations dans un classeur, et les ramène dans celui en cours d'utilisation.
En pratique, ça donnerait ça:
Depuis le classeur A, je clique sur un bouton m'ouvrant la fenêtre de dialogue "ouvrir". Je choisis le classeur B (qui n'est pas forcément dans le même répertoire que le classeur A).
A partir de là, la macro va chercher les informations souhaitées dans le classeur B (celles ci n'ont pas une position "fixe", une recherche est donc nécessaire).
Puis la macro ramène les informations trouvées et remplie les cellules du classeur A.
Au cas où, je vous ai joint 2 classeurs résumant ça.
J'espère être à peu près clair...
Pour l'instant, j'ai trouvé des bouts de code permettant d'ouvrir la fenêtre "ouvrir" (justement), avec GetOpenFilename, et une fonction qui récupère le contenu d'une cellule dans un fichier nommé:
Code:
Private Function GetValue(Path, File, sheet, ref)
' Retourne une valeur d'un classeur fermé
Dim arg As String
' Crée l'argument
arg = "'" & Path & "[" & File & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)
GetValue = arg
End Function
Le problème est que GetOpenFilename retourne une "application" (selon l'aide microsoft), et je n'arrive pas à en extraire le chemin et le nom du fichier. Donc le code au dessus, dans l'état, est inutilisable.
Autre problème, ce code ne prend le contenu que d'une cellule déterminée, or je dois d'abord effectuer une recherche pour trouver cette cellule. (mais chaque chose en son temps)
Si vous avez des idées pour m'aider, je suis preneur
Merci d'avance
Pièces jointes
Dernière édition: