Formule avec plusieurs SI ?? (verification doublon)

Bonjour à Tous,

je souhaite mettre en place une macro excel qui vérifierait les doublons d'une ligne à l'autre (vérification que les données de la colonne "donnée 1" et colonne "donnée 2" ne sont pas identiques avec ceux de la ligne du dessous.

Puis renverrai le message "ALERT" si il y a doublon.

jusqu'ici pas de soucis, mais mon problème est que cette formule va descendre jusqu’à la ligne 1000,

car je ne sais jamais a quelle ligne du fichier les données s’arrêteront.

Donc lorsque j'arriverai a des cellules vides, le message ALERTE va apparaitre.

Avez vous une solution ? soit que la macro n'applique la formule qu'aux lignes ayant des données ou plus simplement j’imaginais

perfectionner la macro en ajoutant à l'existant : que si la cellule de ligne donné est vide ne rien afficher.

Pouvez vous m'aider pour trouver la bonne formule ??

L'exemple du fichier est joint. Merci

merci !!!!

Maaj

25formule-doublon.zip (12.73 Ko)

Bonjour

En attendant d'autres solutions, en voici une première...

Sub doublon()
Dim i As Integer
Dim dl As Long
dl = Range("a" & Rows.Count).End(xlUp).Row

For i = 2 To dl
    If Range("a" & i) = Range("a" & i + 1) And Range("c" & i) = Range("c" & i + 1) Then
    Range("e" & i) = "Alerte"
    Else
    End If
Next

End Sub

bonjour

pour rester sur ta lancée voici lun garde -fou ( parmis d'autres) attention, si les valeurs sont issues de formules la formule ne sea plus la meme

'=SI(LIGNE(A43)/2>NBVAL(A$1:A$1000)-2;"";SI(ET(A44=A46;C44=C46);"ALERT";""))

a+

Bonjour,

Sur la base du code initial de Lean.

Cordialement

Option Explicit
Public Sub doublon()
Dim i As Long
Dim dl As Long

    Application.ScreenUpdating = False
    dl = Range("A" & Rows.Count).End(xlUp).Row

    For i = 2 To dl Step 2
        If Cells(i, 1) = Cells(i + 2, 1) And Cells(i, 3) = Cells(i + 2, 3) Then Cells(i, 5) = "Alerte"
    Next

End Sub

Bonjour Jean-Eric

Sauf mauvaise compréhension de ma part de ton code (et dans ce cas une petite explication m'aidera à mieux comprendre)

Dans le cas où il se retrouve avec 3 lignes consécutives remplies, le step 2 ne va t'il pas lui faire sauter une ligne d'analyse ?

Cordialement,

Bonjour Lean, le Forum

Je suis parti de son fichier avec des données toutes les 2 lignes

La boucle s'effectue donc toutes les 2 lignes.

 For i = 2 To dl Step 2

Maintenant, si les données devaient être différentes, le code est effectivement obsolète.

Cdlt

Merci,

Pour information les doublons ne se produisent qu'un ligne après l'autre. Par exemple la deuxième cellule peut être égale à la première, la troisième à la deuxième etc...

Je préférais une formule, que du code VBA, ce sera plus facile pour moi, merci pour la formule ci dessous

mais elle ne marche pas dans mon fichier... HELPPPPP

tulipe_3 a écrit :

bonjour

pour rester sur ta lancée voici lun garde -fou ( parmis d'autres) attention, si les valeurs sont issues de formules la formule ne sea plus la meme

'=SI(LIGNE(A43)/2>NBVAL(A$1:A$1000)-2;"";SI(ET(A44=A46;C44=C46);"ALERT";""))

a+

Re,

La fonction de Tulipe_3 fonctionne parfaitement.

Cdlt

=SI(A2="";"";SI(LIGNE(A2)/2>NBVAL(A$1:A$1000)-2;"";SI(ET(A2=A4;C2=C4);"ALERT";"")))

Re,

Le Lean a ses limites (référence à Toyota...)

Bonjour à vous,

Je suis d'accord avec jean-eric la formule de tulipe fonctionne nickel.

Un essai avec une autre formule.

=SI((SOMMEPROD(($A$2:A2=A2)*($C$2:C2=C2)))>1;"ALERT";"")

A coller en E2 puis incrémenter vers le bas.

Leakim

Jean-Eric a écrit :

Re,

Le Lean a ses limites (référence à Toyota...)

Possible, pour ma part j'ai un Frontera...

Rechercher des sujets similaires à "formule verification doublon"