Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (Plage)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
Dim pli As Range 'déclare la variable pli (Plage en LIgne)
For Each o In Sheets 'boucle 1 : sour tous les onglets du classeur
If Not o.Name = "Synthese" Then 'condition 1 : si le nom de l'onglet est différent de "Synthese"
'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet o
dl = o.Cells(Application.Rows.Count, 1).End(xlUp).Row
Set pl = o.Range("A3:A" & dl) 'définit la plage pl
For Each cel In pl 'boucle 2 : sur toutes les cellules cel de la plage pl
Set pli = o.Range(cel, cel.Offset(0, 13)) 'définit la plage en ligne pli
'condition 2 : si le nombre de valeurs dans la plage pli est égal à 14
If Application.WorksheetFunction.CountA(pli) = 14 Then
'définit la cellule de destination dest
Set dest = Sheets("Synthese").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
pli.Copy dest 'copie la plage pli et la colle dans dest
End If 'fin de la condition 2
Next cel 'prochaine cellule de la boucle 2
End If 'fin de la condition 1
Next o 'prochain onglet de la boucle 1
End Sub
Sub Va()
Dim L As Long, F As Worksheet
Dim Li As Range, C As Range
L = 3
Rows("3:1000") = "" 'ou + Si... nécessaire
For Each F In Sheets
If F.Name <> Me.Name Then
For Each C In F.Range("A3", F.Cells(Rows.Count, 1).End(xlUp))
Set Li = C.Resize(1, 13)
If Application.CountA(Li) > 2 Then
Li.Copy Sheets("Synthese").Cells(L, 1)
L = L + 1
End If
Next
End If
Next
End Sub
Sub va()
Dim L As Long, F As Worksheet
Dim C As Range, LI As Range
L = 2
Rows("2:1000") = "" 'ou + Si... nécessaire
For Each F In Sheets
If F.Name = "Renault" Or F.Name = "Peugeot" Or F.Name = "Citroen" Then
For Each C In F.Range("A13", F.Cells(Rows.Count, 1).End(xlUp))
Set LI = C.Resize(1, 14)
If Application.CountIf(LI, 0) = 0 Then
Cells(L, 1).Resize(1, 14).Value = LI.Value
L = L + 1
End If
Next
End If
Next
End Sub