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
| Public P65TA40()
Dim i As Integer
Dim j As Integer
Dim Col As Range
Set Col = Sheets("Synthèse").Range("D1") 'defini l'emplacement D1 de la feuille synthèse cela sera moi point de départ pour copier mes différentes colonnes
i = 1
For i = 1 To Sheets.Count
Sheets(i).Activate 'active la feuille
j = 1 'reinitialise la boucle j
t = Cells.Find(What:="P50T - A30", After:="V13", LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
'recherche la première valeur dans la feuille séléctionnée je démarre à V13 pour ne pas prendre en compte une partie du tableau.
For j = 1 To WorksheetFunction.CountIf("I1:BR150", "P65T - A40") * 0.5 'boucle de copie des echelons "P65T - A40". *0.5 car je copie 2 colonne a chaque fois et que la valeur recherchée apparait dans les deux colonnes
ActiveCell.Column.Offset(0, 2).Select 'sectionne les deux colonnes
Selection.Copy 'copie les deux colonnes
Sheets("Synthèse").Select 'selectionne la feuille synthèse
Range(Col).Select 'je me place sur "D1" cette valeur sera incrémenté plus tard et me permet de coller a la suite dans synthèse
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'je ne copie que la valeur
Col = Col.Offset(0, 2) 'j'incrémente col en le déplaçant de deux colonnes sur la droite pour pouvoir copier la prochaine recherche à la suite
Sheets(i).Select 'retour à la feuille initiale
t = .Selection.FindNext(After:=t).Activate 'séléctionne la nouvelle valeur de la recherche si elle existe
Next j
Next i
End Sub |
Partager