Sub ventesHorsFrancoEtCofabr()
Application.ScreenUpdating = False
derligne = Feuil1.Cells(5000, 2).End(xlUp).Row
Dim tablo() As Long
ReDim tablo(derligne - 1)
For lig = 2 To derligne 'on passe en revue les lignes de 2 jusqu'à celle où figure le dernier visa (col B)
If Application.Sum(Feuil1.Cells(lig, 14).Resize(1, 92)) > 0 Then 'si toute la ligne est vide, on "zappe"
For Each c In Feuil1.Cells(lig, 14).Resize(1, 92).SpecialCells(xlCellTypeConstants, xlNumbers) 'pour chaque cellule non-vide de la ligne
' on exclut les territoires francophones
If c > 0 And Feuil1.Cells(1, c.Column) <> "BELGIQUE" And Feuil1.Cells(1, c.Column) <> "SUISSE ROMANDE" And Feuil1.Cells(1, c.Column) <> "QUEBEC" Then
cofab = False
'on vérifie, en DF:DK qu'il ne s'agit pas d'un "co-fabricant"
For col = 110 To 115
' on vérifie la correspondance entre les 7 premiers caractères (sans espaces) pour que les chiffres de vente de
' chaque région linguistique de suisse soit décomptée, si SUISSE est co-fabricant (c'est le seul pays/territoire pour lequel il y a correspondance multiple)
If Trim(Left(Feuil1.Cells(1, c.Column), 7)) = Trim(Left(Feuil1.Cells(lig, col), 7)) Then cofab = True: Exit For
Next col
'puisque ce n'est pas un territoire francophone et si ce n'est pas un co-fabricant, on additionne le montant des ventes
If Not cofab Then tablo(lig - 2) = tablo(lig - 2) + c
End If
Next c
End If
Next lig
Feuil1.Cells(2, "DM").Resize(UBound(tablo), 1) = Application.Transpose(tablo) 'on colle en colonne DM, le contenu du tableau contenant les ventes
Application.ScreenUpdating = True
End Sub