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 - Modifié le 12 juil. 2022 à 15:28
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

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

yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
11 juil. 2022 à 15:49

bonjour,

as-tu exécuté le code en pas à pas?

1
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022
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

0
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022
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

0
yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
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?

0
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022 > yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
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 !

0
yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022
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
0
yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
12 juil. 2022 à 10:20

Es-tu certain d'avoir exécuté en pas à pas?  Comment as-tu fait?

0
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022 > yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
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 .

0
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022
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

0
yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
12 juil. 2022 à 12:51

Probablement parce qu'elle contient une formule qui est perturbée par la suppression.

0
mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022 > yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024
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, 

0
yg_be Messages postés 22710 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > mzouali Messages postés 15 Date d'inscription lundi 11 juillet 2022 Statut Membre Dernière intervention 17 août 2022
12 juil. 2022 à 13:12

peux-tu alors marquer la discussion comme résolue?

1
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

Bien sur, c'est fait Merci infiniment

0