VBA : Macro n'execute pas l'instruction delete!

jerome23

XLDnaute Nouveau
Bonjour à tous et tout d'abord merci de nous faire partager votre expérience.

Je débute en macro (redébute...10 ans sans y toucher..)

J'ai un problème. Je fais l'execution d'une macro suite à l'execution d'une Userform. (on cherche le nom d'une personne et quand il le trouve dans la liste, il supprime la ou LES ligne(s).

J'ai fait le test avec une msgbox qui m'indique le nombre de fois ou il trouve l'occurence (ca marche).

par contre, les lignes restent désespérément pleines... snif!

Je craque.. a l'aide.

Merci pour vos réponses.

PJ: Un extrait de mon code:

'SLC est une variable globale qui contient le nom recherché
Dim i As Integer
Dim x As Integer


i = 1
x = 0

Do While i < Sheets("lcli").Range("S65535").End(xlUp).Row

i = i + 1

If Sheets("lcli").Cells(i, 19) = SLC Then
x = x + 1
'PROBLEME : il trouve les lignes puisqu'il incrémente du nombre de client qu'il trouve = à SLC, mais
'il efface pas la ligne...??????

Rows(i).Delete

End If

Loop



MsgBox (x)
'MsgBox ("client supprimé")

End If
 

pierrejean

XLDnaute Barbatruc
Re : VBA : Macro n'execute pas l'instruction delete!

bonjour jerome

2 points

1) peut-etre

Code:
Sheets("lcli").Rows(i).Delete
au lieude 
Rows(i).Delete

2)quand on delete il est toujours preferable de partir de la fin de la feuille
du genre
Code:
for i=Sheets("lcli").Range("S65535").End(xlUp).Row to 1 step -1
  If Sheets("lcli").Cells(i, 19) = SLC Then Sheets("lcli").Rows(i).Delete
next i
 

Discussions similaires

Réponses
17
Affichages
854

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes