Bonsoir à tous,
Meilleurs vœux pour cette nouvelle année!!
Je joint un fichier pour le post suivant.
Ce que je voudrais c'est remplacer une sommeprod écrite en VBA par un code si possible, car la formule fait ramer ma procédure.
J'ai un tableau qui peux contenir jusqu'à 300 000 lignes et j'ai besoins de savoirs si dans la colonne A si commence par 6 ou 7 alors voir si j'ai un doublon en colonne ...
Ci joint ma formule :
Ci joint mon code qui permet de l'incrémenter (et qui fait ramer ma procédure)
Vous verrez sur le fichier que la formule et la macro fonctionne mais je pense que l'on peut faire plus rapide...
Merci d'avance pour votre aide.
Meilleurs vœux pour cette nouvelle année!!
Je joint un fichier pour le post suivant.
Ce que je voudrais c'est remplacer une sommeprod écrite en VBA par un code si possible, car la formule fait ramer ma procédure.
J'ai un tableau qui peux contenir jusqu'à 300 000 lignes et j'ai besoins de savoirs si dans la colonne A si commence par 6 ou 7 alors voir si j'ai un doublon en colonne ...
Ci joint ma formule :
Code:
=SI(SOMMEPROD((OU(GAUCHE(BD!$E$1:$E$20681)="6";GAUCHE(BD!$E$1:$E$20681)="7")*(BD!$Y$1:$Y$20681=Y2)))>=2;"Doublon";"")
Ci joint mon code qui permet de l'incrémenter (et qui fait ramer ma procédure)
Code:
Sub traitement_des_données()
Dim LstRow&
LstRow = Sheets("BD").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("BD").Activate
Range("z2").Select
ActiveCell.FormulaR1C1 = _
"=IF(SUMPRODUCT((OR(LEFT(BD!R1C5:R" & LstRow & "C5)=""6"",LEFT(BD!R1C5:R" & LstRow & "C5)=""7"")*(BD!R1C25:R" & LstRow & "C25=RC[-1])))>=2,""Doublon"","""")"
Range("z2").Select
Selection.AutoFill Destination:=Range("z2:z" & LstRow)
End Sub
Vous verrez sur le fichier que la formule et la macro fonctionne mais je pense que l'on peut faire plus rapide...
Merci d'avance pour votre aide.