BOUTON_SUPPRIMER
Résolu/Fermémzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022 - 12 juil. 2022 à 14:29
4 réponses
11 juil. 2022 à 15:49
bonjour,
as-tu exécuté le code en pas à pas?
11 juil. 2022 à 19:22
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
11 juil. 2022 à 20:15
Le plus probable, c'est que la cellule ne contienne pas précisément la valeur recherchée.
Quand tu es en pas à pas, tu peux confirmer que les deux valeurs semblent identiques?
12 juil. 2022 à 07:42
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 !
12 juil. 2022 à 09:09
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
12 juil. 2022 à 10:20
Es-tu certain d'avoir exécuté en pas à pas? Comment as-tu fait?
12 juil. 2022 à 11:06
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 .
Modifié le 12 juil. 2022 à 12:49
la ligne est bien supprimé grace à ton code je vous en remercie
, j'ai remarqué que sur ma base de donée la colone ID
devient #REF! sachant que j'ai supprimé la ligne 10
12 juil. 2022 à 12:51
Probablement parce qu'elle contient une formule qui est perturbée par la suppression.
12 juil. 2022 à 13:07
Je te remercie infiniment yg_be , effectivement j'avais mis dans la colonne "ID" icrementation +1 de chaque cellule, je l'ai supprimé et ça marché très bien,
12 juil. 2022 à 13:12
peux-tu alors marquer la discussion comme résolue?
12 juil. 2022 à 14:29
Bien sur, c'est fait Merci infiniment
11 juil. 2022 à 19:23
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