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
| Sub ordonné()
' On met le feuille Resultat_General en premier pour faciliter la manipulation
Sheets("Resultat_General").Select
Sheets("Resultat_General").Move Before:=Sheets(1)
Dim a As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim compteur As Integer
'On parcourt toutes les feuilles pour savoir le nombre qu'on en a (excepté la feuille de Resultat_General)
For Each Sheet In Worksheets
If Sheet.Name = "Resultat_General" Then
compteur = compteur
Else
compteur = compteur + 1
End If
Next Sheet
'On parcourt de la feuille 2 juqu'à la dernière feuille
For i = 2 To compteur
'For Each sheet In Worksheets
'Une fois la feuille de reference fixé avec la boucle sur i on parcourt de la feuille 3 jusqu'à la derniere feuille
For j = 3 To compteur
'On regarde pour chaque numero contenu dans les cellules de la colonne A ( cellules allant de A3 à A12)
For k = 3 To 12
' Une fois la cellule de référence fixé on fait varier de la même manière les cellules des autres feuilles
For l = 3 To 12
'On sélectionne la feuille i, c'est à dire ici notre feuille de référence
Sheets(i).Select
'Si on a la même valeur (ici le même numero) sur deux même cellule A de deux feuilles différente, alors on les mets sur la même ligne que dans la feuille de référence
If Sheets(i).Range("A" & k).Value = Sheets(j).Range("A" & l).Value Then
If k = l Then
Exit For
Else
Sheets(j).Select
Rows(l).Cut
Rows(k).Insert Shift:=xlDown
Exit For
End If
'si on arrive à la fin de la boucle sur l, c'est à dire que l'on à trouvé aucun correspondant sur la feuille j de la feuille i alors on prends la ligne associé sur la feuille j et on la met à la fin du tableau, et pour finir un crée une ligne vierge à ce niveau (niveau correspondant à celui de la feuille i)
ElseIf l = 12 Then
'on incemente une variable a pour savoir ou inserer la ligne que l'on va deplacer par la suite
a = a + 1
Sheets(j).Select
Rows(k).Cut
Rows(12 + a).Insert Shift:=xlDown
'on laisse une ligne blanche
Range("A" & k).Select
Selection.EntireRow.Insert
Else
End If
Next l
Next k
Next j
Next i
End Sub |
Partager