Likith
XLDnaute Nouveau
Bonjour à tous!
Je viens encore soliciter votre grand savoir (et bonnes graces) pour quelques problèmes de macro.
Cette macro ajoute des valeurs à la suite de deux colonnes.
Pour ne pas créer de doublons, ma macro vérifie si la dernière ligne est identique à une ligne précédente. Si c'est le cas, elle affiche un message d'erreur et suprime la dernière ligne nouvellement créée.
Seulement cette boucle de vérification ne fonctionne pas!
Soit le message d'erreur apparaît quelque soit les valeurs de la ligne ajouté, soit il n'apparaît jamais. Je cherche donc un jsute milieux ;-p
Je me demande aussi si "Application.ScreenUpdating " est ici utile
Merci d'avance de vos proposition.
Bonne journée!
*EDIT:
Oups! Autant pour moi, je me suis peu être un peu existé en postant si vite... (le vb ça échauffe les méninges)
Bref la solution était tout bête : pas de +1 après le
Désolé du dérangement!
Je viens encore soliciter votre grand savoir (et bonnes graces) pour quelques problèmes de macro.
Cette macro ajoute des valeurs à la suite de deux colonnes.
Pour ne pas créer de doublons, ma macro vérifie si la dernière ligne est identique à une ligne précédente. Si c'est le cas, elle affiche un message d'erreur et suprime la dernière ligne nouvellement créée.
Seulement cette boucle de vérification ne fonctionne pas!
Soit le message d'erreur apparaît quelque soit les valeurs de la ligne ajouté, soit il n'apparaît jamais. Je cherche donc un jsute milieux ;-p
Code:
Private Sub AjoutLigne()
Application.ScreenUpdating = False
If Sheets("Feuil1").Range("C10").Value = "" Then
Msgbox "Veuillez mettre une valeur en C10"
Else
Dim DerLigne As Long
Sheets(Worksheets("Feuil1").Range("C10").Value).Select
DerLigne = Range("A2000").End(xlUp).Row + 1
Range("A" & DerLigne) = SupprimerZone.Case1.Value
Range("B" & DerLigne) = SupprimerZone.Case2.Value
Dim Doublon As Long
Sheets(Worksheets("Feuil1").Range("C10").Value).Select
Doublon = Range("A2000").End(xlUp).Row + 1
For i = 7 To Doublon
If Range("A" & i - 1).Value = Range("A" & Doublon).Value And Range("B" & i - 1).Value = Range("B" & Doublon).Value Then
Msgbox "Cette ligne existe déjà!"
Range("A" & Doublon, "B" & Doublon).Delete
End If
Next i
End If
Application.ScreenUpdating = True
End Sub
Je me demande aussi si "Application.ScreenUpdating " est ici utile
Merci d'avance de vos proposition.
Bonne journée!
*EDIT:
Oups! Autant pour moi, je me suis peu être un peu existé en postant si vite... (le vb ça échauffe les méninges)
Bref la solution était tout bête : pas de +1 après le
Code:
Doublon = Range("A2000").End(xlUp).Row
Désolé du dérangement!
Dernière édition: