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
| Sub CopierCollerListeInfo()
'Copie de la ligne de titre
Workbooks("ListeGlobale.xls").Worksheets("General").Range("B3:F3").Copy _
Destination:=Workbooks("ListeInformatique.xls").Worksheets("Fournitures").Range("B3:F3")
'Recherche de la dernière ligne renseignée
DerLigneCopie = Workbooks("ListeInformatique.xls").Worksheets("Fournitures").Range("B3").SpecialCells(xlCellTypeLastCell).Row
'Tu remplaces la ligne suivante par un tableau des types
'... et tu crées une boucle sur la dimension du tableau des types
'... auquel cas, tu devras également créer un tableau sur les noms de fichiers et de feuilles TypeCherché = "Fournitures"
'Entrée dans la boucle (là je cherche 1 seul type)
plage = Workbooks("ListeGlobale.xls").Worksheets("General").Range("C3" & ":" & Range("C3").End(xlDown).Address).Address
With Workbooks("ListeGlobale.xls").Worksheets("General").Range(plage)
'Je cherche la première occurence AVANT de rentrer dans la boucle de recherche des données suivantes
Set C = .Find(TypeCherché, LookIn:=xlValues)
If Not C Is Nothing Then
Do
NewLigne = C.Row
plage = "B" & C.Row & ":" & "F" & C.Row
DerLigneCopie = DerLigneCopie + 1
Workbooks("ListeGlobale.xls").Worksheets("General").Range(plage).Copy _
Destination:=Workbooks("ListeInformatique.xls").Worksheets("Fournitures").Range("B" & DerLigneCopie & ":" & "F" & DerLigneCopie)
Set C = .FindNext(C)
Loop While (Not C Is Nothing) And C.Row > NewLigne
End If
End With
Set C = Nothing
End Sub |
Partager