Supprimer toute la ligne

bonjour les amis,

veuillez m'aider s'il vous plait .

j'ai une userform qui contient 2 combobox et une bouton. je veux chercher dans la 3 ème colonne la valeur du 3ème combobox une fois je la trouve je dois supprimer toute la ligne.

le problème:

dans le code j'ai ajouter un msgbox pour que l'utilisateur puisque confirmer.

je veux que le msgbox s'affiche une seule fois pour demander la confirmation de l'utilisateur afin de supprimer toutes les lignes trouvées.

Private Sub CommandButton1_Click()
x = Worksheets("test").Range("C1").End(xlDown).Row
Dim k As Integer
k = 0
For I = 2 To x
    If ComboBox2.Value = Worksheets("test").Cells(I, 3).Value Then
     k = k + 1
    If MsgBox("vous etes sur que vous voulez supprimer cette fonction?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
    Worksheets("test").Cells(I, 3).EntireRow.Delete
    MsgBox "la fonction a été supprimé avec succès! "
    End If
    End If
 Next I
 If k = 0 Then
    MsgBox "la fonction que vous avez choisis n'existe pas!"
 End If

End Sub

et merci d'avance

Salut,

Tu pourrais éventuellement ajouter une sorte de ‘Flag’ sous la forme d’une valeur booléenne à ton code. Lors de la première boucle, cette valeur aurait par exemple la valeur ‘False’ et – après le premier message – elle prendrait la valeur ‘True’ (ou le contraire, à voir).

La nouvelle condition pour afficher le message par MsgBox inclurait la valeur True ou False de ce ‘Flag’.

Sa avoir ton fichier à disposition c’est difficile de t’en dire plus ; enfin, surtout compliqué pour moi de teste tout cela

Cordialement.

salut

vous trouverez en pj, le fichier test

par exemple si j'ai saisie "aa" et après la confirmation de l'utilisateur je veux supprimer toutes les lignes où on a trouvée "aa"

9test.xlsm (23.88 Ko)

Re,

Finalement je suis parti dans une direction assez différente de celle que tu avais prise

Option Explicit
Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer, k As Integer

i = Range("B1").End(xlDown).Row

On Error Resume Next
j = Application.WorksheetFunction.Match(TextBox1, Range("B:B"), 0)
If j = 0 Then
    MsgBox "La fonction choisie n'existe pas !"
    Unload Me
    Exit Sub
End If

If MsgBox("Etes-vous sûr de vouloir supprimer cette fonction ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
    For k = i To 2 Step -1
        If Cells(k, 2) = TextBox1 Then
            Cells(k, 2).EntireRow.Delete
        End If
    Next k
    MsgBox "La fonction a été supprimée avec succès !"
End If

Unload Me

End Sub

Amicalement.

12test-v1.xlsm (24.68 Ko)

merci beaucoup

mon problème a été résolu

cordialement

Rechercher des sujets similaires à "supprimer toute ligne"