Bonjour à tous,
Je viens vous demander de l'aide pour une instruction que je n'arrive pas à développer.
J'ai 3 fichiers EXCEL :
1. Un contenant une fiche concernant des informations sur des armoires de commande de communes
2. Un fichier contenant une liste déroulante de communes et un bouton "Transfert"
3. Un (pour le moment vide), qui contiendra les informations récupérées dans le premier via le bouton du second...
En cliquant sur le bouton "Transfert" après avoir choisi ma commune, je dois parcourir tous les dossiers et sous dossier de la commune pour récupérer les fichiers EXCEL.
Ensuite j'ouvre chaque fiche, et j'aimerais enregistrer des cellules précises dans un tableau de valeurs. Afin de pouvoir les ressortir dans le fichier 3.
En me renseignant sur le web, j'ai trouvé quelques informations sur la construction de tableau VBA mais je n'arrive pas à faire un algo compétent.
Déjà je ne sais pas quel type de tableau déclarer, les arguments devraient correspondre aux lignes et colonnes du tableau excel où je dois transférer les informations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Transfert_Armoires() Dim NomDossier As String Dim CheminDossier As String ' Déclaration du tableau Dim TabInformation ' On récupère le nom sélectionné dans la liste déroulante NomDossier = Workbooks(1).Worksheets(1).Cells(7, 2) ' On récupère le chemin où la recherche doit s'effectuer CheminDossier = "Y:Relevés commandes\" + NomDossier With Application.FileSearch ' Nouvelle recherche .NewSearch ' Dossier(s) de recherche : .LookIn = CheminDossier ' Fichiers à rechercher .Filename = "*.xlt" .FileType = msoFileTypeExcelWorkbooks ' Activation de la recherche dans les sous-dossiers .SearchSubFolders = True ' On éxécute tout ça ! .Execute For Ctr = 1 To .FoundFiles.Count ' Pour chaque fichier trouvé, on ouvre et on récupère les données Workbooks.Open (.FoundFiles(Ctr)) ' C'est ici qu'il faut que je fasse mon traitement pour récupérer les infos ' J'ai 23 valeurs à récupérer dans chaque fichier Next End With End Sub
Peut être un tableau du type : TabInfos(ligne as integer, colonne as integer)
Ce qui donnerait
Merci d'avance pour votre aide et bonne journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim ligne as integer For Ctr = 1 To .FoundFiles.Count ' Pour chaque fichier trouvé, on ouvre et on récupère les données Workbooks.Open (.FoundFiles(Ctr)) ligne = 2 TabInfos(ligne,1) = Range("E4") TabInfos(ligne,2) = Range("C5") TabInfos(ligne,3) = Range("E6") [...] ligne = ligne + 1 Next![]()
Partager