BOUTON_SUPPRIMER
Résolumzouali Messages postés 22 Statut Membre -
Bonjour,
mon bouton "supprimer" ne fonctionne pas, je voudrais supprimer une ligne si je clique sur le bouton suprimer " mais pas n'importe quel ligne" sauf la ligne que je veux supprimer en utilisant son id.
pourriez vous m'aider s'il vous plait. j'arrive pas à trouver l'erreur sachant que le msgBox aprés le if ne fonctionne pas, donc probablement c'est le if qui fonctionne pas !
Windows / Firefox 102.0
4 réponses
bonjour,
as-tu exécuté le code en pas à pas?
Oui je l'ai exécuté en pas à pas, et j'ai remarqué que la condition if ne s'execute pas, par contre la boucle for marche trés bien : quand je met msgBox aprés la boucle for, msgBox marche, mais quand je le met aprés la condition if, msgBox ne marche pas!
j'ai aucune idée qu'est ce que je dois faire de plus ? pour tester mon code
je vous remercie pour votre reponse
Bonjour yg_be,
avec ce code que je te monte, j'ai eu les resultats suivants : ça m'affiche que la derniere ligne et la premiere(il affiche en premier 334 puis 1 et il s'arrete) ! alors que j'ai demandé de parcourir toutes les lignes allant de la derniere ligne .
c'est la boucle for qui marche pas bien n'est ce pas !
Merci de partager ton code comme du texte, en suivant ces conseils: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
.
Pour que tu comprennes mieux le code que tu as écrit, je suggère de modifier tes instructions msgbox, ainsi:
msgbox "suppression: " & suppression '... msgbox "i: " & i
Private Sub btnsupprimer_Click()
'Dim Indexlist
'Détermination de la ligne dans la feuille de base
'Indexlist = ListBox7.ListIndex + 2
'If Indexlist < 2 Then Exit Sub
'Sheets("Electrique").Rows(Indexlist).Delete
'Application.ScreenUpdating = True
'Me.ListBox7.RemoveItem Me.ListBox7.ListIndex
'Unload Me
'Electrique.Show
Dim i As Integer
Dim suppresion As String
suppression = InputBox("veuillez entrer l'id à supprimer", "Suppression d'enregistrement")
MsgBox suppression
With ThisWorkbook.Sheets("Electrique")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If (.Range("A" & i).Value = suppression) Then
Rows(i).Delete
End If
Next i
MsgBox i
End With
End Sub
Est ce que tu veux dire par pas à pas, executer instruction par instruction ! c'est bien ça ? ligne par ligne ? c'est ça je que j'ai fait .
Private Sub btnsupprimer_Click()
Dim i As Integer
Dim suppresion As String
suppression = InputBox("veuillez entrer l'id à supprimer", "Suppression d'enregistrement")
With ThisWorkbook.Sheets("Electrique")
For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & i).Value = suppression Then
'MsgBox suppression
Rows(i).Delete
End If
Next i
End With
End Sub
Voici mon code si vous voulez le tester