Bonjour à tout le monde,

Je fais appel à vos connaissances et votre savoir pour tenter de débloquer mon problème.
Après de maintes recherches sur les forums, aides... je n'arrive pas toujours pas à résoudre ce problème.
Le but est de supprimer la ligne du tableur excel sur laquelle on trouve la même chaîne de caractère que la variable "name" (définie par la sélection dans la ListBox1).
Le problème est que l'on me revoit un message d'erreur 1004:La méthode Delete de la classe range a échoué... à la ligne:
Rows(w).Delete Shift:=xlUp
Le problème est le même pour la 2ème ligne de commentaire.
Peut-être que certaines fonctions ne sont pas utilisable en UserForm??
J'ai essayé dans un module et cette fonction marche très bien.
Je peux peut-être créer une routine dans un module est l'appeler à chaque fois. En revanche, la variable "w" n'est pas gardée en mémoire.
Quelqu'un saurait-il comment résoudre mon soucis. Voici-ci mon code:

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
16
17
18
19
20
21
22
Dim w As Integer
 
 
Private Sub ListBox1_Click()
 
name = ListBox1.Text
DernLigneOnd = range("A" & Rows.Count).End(xlUp).Row
 
For w = 2 To DernLigneOnd
    If Cells(w, 1) = name Then
        Rows(w).Delete Shift:=xlUp                        '--------------Donne une erreur 1004: La méthode Delete de la classe range à échoué      
 
         'Rows(w & ":" & w).Select
         'Selection.Delete Shift:=xlUp
    End If
                 '---------Mise à jour de la ListBox1
        DernLigneOnd = range("A" & Rows.Count).End(xlUp).Row
        ABBusf.ListBox1.RowSource = "A2:A" & DernLigneOnd
 
Next
 
End Sub
Je fais donc appel à vous, experts (ou utilisateurs) du forum, pour tenter de trouver une solution adéquate.
Merci d'avance.
Bien cordialement