Bonjour,
Un nouveau projet un nouveau problème
Pour ce nouveau projet je doit faire un parcours de fichier puis dans chaque fichier récupérer plusieurs lignes (Famille matériaux et la ligne total de celle ci)
Ces informations sont contenu dans un tableau Excel, dans l'onglet Indexes.
Puis après avoir sélectionner toutes ces lignes je doit les copier dans un autre fichier Excel qui seras censé réalisé un Résumé (avec graphe et variation des valeurs)
Voici mon début de code :
Je voudrais savoir comment je fais pour sélectionner plusieurs lignes en dynamique.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 Sub Rapport_index() 'Suppression du contenu de l'ancien fichier ' Windows("Rapport index.xls").Activate ' Selection.CurrentRegion.Select ' Selection.EntireRow.Delete 'Déclaration des variables Dim oFSO As Object Dim oFiles As Object Dim oFolders As Object Dim sFolder As String 'Création de la liste de fichier contenu dans le dossier : sFolder = "G:\DATA\Common_Data\indexes\Indexes_06\" Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolders = oFSO.GetFolder(sFolder) Set oFiles = oFolders.Files For Each fichier In oFiles 'Pour tout les fichiers dans la liste faire : 'Ouverture de fichier Workbooks.Open Filename:=fichier.Path 'Selection de l'onglet Récap Sheets("Indexes").Select 'Déclaration de la variable j Dim i As Integer Dim j As Integer For i = 1 To 476 If Range("B" & i).Value = "Total" Then Rows(i).Copy Windows("Rapport index.xls").Activate Sheets("Feuil1").Select For j = 1 To 1000 If Range("B" & j).Value = Range("X65000").Value Then: Range("A" & j).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Next j Next i 'Vide le presse papier pour chaque fichier (l'un après l'autre) Workbooks(fichier.Name).Activate Application.CutCopyMode = False On Error Resume Next Application.CommandBars("Clipboard").Controls(4).Execute 'Fermeture du fichier sur lequel on a récupéré des informations Workbooks(fichier.Name).Close False DoEvents Next 'Vide le presse papier du fichier rapport index.xls Windows("Rapport index.xls").Activate Application.CutCopyMode = False 'Remise à zero des variables Set oFiles = Nothing Set oFolders = Nothing Set oFSO = Nothing End Sub
Quand je fait la compilation ligne par ligne de code il s'emmêle les pinceaux à cette ligneEt boucle sur ce rows(""&i).copy sans lancer le code qui est normalement ontenu dans la boucle .....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 If Range("B" & i).Value = "Total" Then Rows("" & i).Copy
Merci d'avance
Partager