Bonjour j'aimerais utiliser vba pour récupérer des noms de fichiers qui se trouvent dans plusieurs fichiers xls..
J'ai 21 immatricule lettrés à chercher dans 33 fichiers .xls dans un dossier et dans chaque fichier .xls il y a de 3 à 8 onglets à vérifier... :/
21 * 33 * 6 * temps pris pour chaque manip =
C'est pourquoi je vous solicite pour m'aider si possible ! ..
j'ai commencé un bout de code, j'ai exposé mes problématiques au fur et à mesure du code, principalement , j'ai des problèmes d'accès de fichiers workbook et work sheet que je n'ai jamais géré jusqu'à présent... par exemple comment vba va piocher un fichier un des fichiers dans le dossier sans que j'ai l'explicité entièrement le nom de fichier à prendre.
Voilà je reste à votre disposition si vous avez besoin de plus de détails !
Je vous remercie d'avance chère communauté !
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
36
37
38
39
40 'Je veux savoir si une valeur texte existe dans les onglets types de plusieurs fichiers excels du même type 'mes problèmes sont comment ouvrir les fichiers excels ? changer de feuilles ? et cibler certaines feuilles sachant que leur nombre varie 'suivant le fichier excel 'déclaration de la variable texte à regarder dans les feuilles de calculs des différents fichiers excels Dim Numligne as integer Dim Texte as string Dim classeur as Workbook Dim feuille as ActiveWorkbook.Sheets Application.ScreenUpdating = False ' pour accélérer la macro With Sheets("résultats GRA") Numligne = .Range("A" & .Rows.Count).End(xlUp).Row + 1 'Première cellule vide End With 'stocker dans "texte" la valeur de la cellule choisi boucler avec une For sur la colonne A ou sont rentrés les textes à chercher 'Fonction chercher le texte 'pour chaque texte regarder dans les onglets "HYPOTHESIS" puis les feuilles de calcul compris entre l'onglet "Feared Events" et l'onglet "EIS" (non inclus) parce _ 'il y a un nombre de feuilles de calculs variable entre ces derniers feuillets. For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row Set texte = Sheets("résultats GRA").Cells(i, 1) 'ouvrir un autre fichier excel dans lequel et chercher "texte" dans ce nouveau fichier excel ces fichiers sont contenus dans un répertoire _ 'sur mon bureau, je ne sais pas comment y accéder via VBA With ActiveWorkbook.Sheets Set Texte = Sheets("HYPOTHESIS").Range("A1:F999").Find(Cells(i, 1), lookat:=xlPart) If Texte Is Nothing Then 'changer de feuille et rechercher "texte" else With ActiveWorkbook.ActiveSheet ActiveSheet.Cells(i, 1).EntireRow.Copy .Cells(Numligne, 1) 'copier la ligne entière de la feuille2 Numligne = .Range("A" & .Rows.Count).End(xlUp).Row + 1 'Première cellule vide End With End If next i Application.ScreenUpdating = True ' pour raffraichir la page
Partager