Salut, je suis arrivé à me poser plusieurs questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Application.ScreenUpdating = False With Feuil2 .Range("F2:F" & derniere_ligne).Formula = "=SOMMEPROD(($A$2:$A$" & derniere_ligne & "=A2)*($B$2:$B$" & derniere_ligne & "=B2)*($C$2:$C$" & derniere_ligne & "=C2)*($D$2:$D$" & derniere_ligne & "=D2)*($E$2:$E$" & derniere_ligne & "=E2))" _ : .Range("F2:F" & derniere_ligne).Value = .Range("F2:F" & derniere_ligne).Value .Range("I2:I" & derniere_ligne).Formula = "=SI(NB.SI.ENS($A$2:$A2;A2;$B$2:$B2;B2;$C$2:$C2;C2;$D$2:$D2;D2;$E$2:$E2;E2;)>1;1;0)": .Range("I2:I" & derniere_ligne).Value = .Range("I2:I" & derniere_ligne).Value With .Cells(1).CurrentRegion .Sort Cells(9), Order1:=xlAscending, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, Header:=xlYes V = Application.Match(1, .Columns(9), 0) 'repérage du 1er doublons après tri If Not IsError(V) Then Rows("A1", "I" & ":" & .Rows.Count).EntireRow.Delete End If .Columns(9).Clear End With End With Application.ScreenUpdating = True
-Je n'arrive pas à compiler cette formule "Erreur définie par l'application ou par l'objet", mais je n'arrive surtout pas à comprendre son but.
Code : Sélectionner tout - Visualiser dans une fenêtre à part "=SI(NB.SI.ENS($A$2:$A2;A2;$B$2:$B2;B2;$C$2:$C2;C2;$D$2:$D2;D2;$E$2:$E2;E2)>1;1;0)"
Le but Est-ce de donner la valeur 1 si la "clé" définie par A B C D E a déjà été repéré, puis ensuite supprimer la ligne si un 1 est présent dans la colonne ? avec le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 V = Application.Match(1, .Columns(9), 0) 'repérage du 1er doublons après tri If Not IsError(V) Then Rows("A1", "I" & ":" & .Rows.Count).EntireRow.Delete End If
-Pour cette formule, elle se compile mais ne s'applique pas dans la feuille EXCEL, pourtant la formule fonctionne correctement si je la copie dans la feuille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 "=SOMMEPROD(($A$2:$A$" & derniere_ligne & "=A2)*($B$2:$B$" & derniere_ligne & "=B2)*($C$2:$C$" & derniere_ligne & "=C2)*($D$2:$D$" & derniere_ligne & "=D2)*($E$2:$E$" & derniere_ligne & "=E2))" _ : .Range("F2:F" & derniere_ligne).Value = .Range("F2:F" & derniere_ligne).Value
Partager