Bonjour Chère communauté
je réalise actuellement un stage dans une société.
il m'as été accordé la tache de:
Élaborer une Macro qui permettrai de récupérer la cellule B4 sur Plusieurs fichiers .xlsx (2000) contenus dans un seul Dossier vers un nouveau classeur
je suis vraiment pas débutant sur de la programmation
(il me faut un bon temps d'analyse pour comprendre la logique du code)
en cherchant sur internet j'ai trouvé des bouts de code sur mon sujet
à présent j'arrive à ouvrir le classeur récepteur et un des fichier, avec un boucle, d'où on copie la cellule B4
mais j'ai une erreur sur la ligne qui copie la cellule
je vous met une capture de mon code
pourriez vous m'aider S'il vous plait
je vous remercie d'avance et peut mieux développer si je me suis pas bien fait comprendre
Mercie de nouveau
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 Option Explicit Sub Macro1() Dim FSO As Object Dim file_fichierNT As Object ' // Quelques variables Dim wb_maitre As Workbook Dim wb_fichierNT As Workbook Dim cells As Integer '//cells = Workbooks(Selection.Value).Sheets(Selection.Value).Range("B4").Value Set FSO = CreateObject("Scripting.FileSystemObject") '// declare une variable pour la cellule A1 Set wb_maitre = Workbooks.Open("C:\Users\usertests\Documents\macro_excel\maitre\maitre.xlsx") ' // On ouvre le classeur maître For Each file_fichierNT In FSO.GetFolder("C:\Users\usertests\Documents\macro_excel\").Files ' // On vérifie a priori que le fichier est un classeur (XLS) If UCase(file_fichierNT.Name) Like "*.XLSX" Then Set wb_fichierNT = Workbooks.Open(file_fichierNT.Path, ReadOnly:=True) file_fichierNT.Worksheets("1").Activate.range("B4").Select.Copy After:=file_fichierNT ' // On ferme le classeur quesTP, sans rien enregistrer - euh, à quoi sert le readonly alors ??? wb_fichierNT.Close SaveChanges:=False End If Next End Sub
cordialement Wcastillo
Partager