VBA Excel macro

Résolu/Fermé
olive60 Messages postés 253 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 21 décembre 2010 - 18 mars 2010 à 12:34
olive60 Messages postés 253 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 21 décembre 2010 - 18 mars 2010 à 23:09
Bonjour,

En colonne C, j'ai une liste de nom.

En cellule B1, j'ai une liste déroulante avec des noms.

Je souhaite que quand je sélectionne un nom en B1, toutes les lignes dont le nom en colonne C ne correspond pas au nom choisi dans B1 soient effacées.

Le souci est que mon code fonctionne "à moitié". En effet, il faut que je le relance plusieurs fois pour qu'il efface toutes les lignes pertinentes. si je ne lance qu'une fois il y a des "oublis".

Bizarre non?

Voici mon code:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

Dim ligne As Long

If MsgBox("Did you choose the right Member? Click YES only if you are sure of it." & Chr(10) & Chr(10) & "Other Projects not associated to you Member name will be definitively deleted", vbOKCancel, "JOINT") = vbCancel Then GoTo EXITER

For ligne = 3 To 1400

If Range("c" & ligne).Value <> Range("B1").Value And Range("c" & ligne).Value <> "" Then Range("c" & ligne).EntireRow.Delete

Next ligne

EXITER:
Application.EnableEvents = True
End Sub
A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
18 mars 2010 à 16:28
Re-
Fait ta boucle à l'envers :
For ligne = 1400 to 3 step -1
Quand on supprime des lignes, mieux vaux procéder comme cela pour qu'excel n'en loupe pas une au passage. En effet, la suppression fait remonter tes données...
1
athizy Messages postés 21 Date d'inscription jeudi 4 mars 2010 Statut Membre Dernière intervention 19 mars 2010
18 mars 2010 à 16:22
Je ne suis pas un pro d'excel mais à ta place j'utiliserai quelque chose comme ça :

If Cells(i, 3).Value = "B1" Then...

Bon courage
0
olive60 Messages postés 253 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 21 décembre 2010 27
18 mars 2010 à 23:09
Ouiii merci Pikaju!

bonne soirée merci encore!
0