Bouton supprimé marche pas correctement

Résolu/Fermé
mimi - 3 oct. 2022 à 13:50
 mimi - 7 oct. 2022 à 07:24

Bonjour tout le monde,

J'ai realisé une application en VBA avec des boutons, ajouter, modifier, supprimer et quitter.

le fonctionnement de mon application est comme suit :

j'ai 6 feuilles au totale dans mon classeur :

feuille 1 : "Menu" 

feuille 2: ma premiere base de donnée

feuille 3: ma deuxieme base de donnée

feuille 4: ma troisieme base de donnée

feuille 5: ma cinquième base de donnée

dans la feuille "Menu", j'ai mis que des boutons " 5 boutons" au total; quand je clique sur le premier bouton un userform s'affiche, le userform est lié à la premiere base de donnée.

mes boutons ajouter et quitter marchent très bien, par contre les deux boutons supprimer et modifier marchent sauf si je suis dans la feuile de la base à supprimer !

je m'explique : si je suis dans la feuille "Menu" et je clique sur le premier bouton, le premier userform s'affiche, j'ai une listbox dans le userform qui affiche ma base recherchée, si je selectionne la lisgne à supprimer ! la ligne ne se supprime pas! parce que je suis dans la feuille menu!

par contre quand je rentre à 2 eme feuille du la premiere base et je rentre au code et je complile mon userform, si je clique sur supprimer, la ligne se supprime.

j'espere j'ai bien expliquer mon probleme, en bref, le bouton supprimer du userform ne marche pas si je suis dans la feuille menu, et si je suis dans la feuille du base de donnée, le bouton marche. !

voici mon code du bouton supprimer


Windows / Firefox 105.0

Private Sub btnsupprimer_Click()
Dim i As Long, suppression As String, present 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
 present = .Range("A" & i).Value
 If present = suppression Then
   MsgBox "suppression de la piece numero " & suppression
   MsgBox "la pièce est supprimée"
   Rows(i).Delete
Else 'If present <> suppression Then
   MsgBox "l'identifiant n'existe pas"
End If
 Next i
End With

End Sub

2 réponses

yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024 Ambassadeur 1 551
3 oct. 2022 à 15:46

bonjour,

En ligne 11, tu ne précises pas dans quelle feuille tu veux agir.  Il suffit sans doute d'ajouter un point en début de ligne, pour préciser que tu veux agir dans la feuille précisée dans le with.

0

Merci infiniment , c'est exactement ce qu'il me manquait , un point au debut de la ligne.

je vous remercie encore une fois

0

Pourriez vous voir avec moi le fonctionnement du bouton modifier s'il vous plait, j'ai le meme probleme que j'avais avec le bouton supprimer. le bouton marche sauf si je suis dans la base !

merci infiniment,

Private Sub b_modif_Click()

 Dim i As Long

   If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") = vbYes Then
    
   With ThisWorkbook.Sheets("Electrique")
    For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
    If Cells(i, 1) = Me.T_Id.Text Then
    Cells(i, 1).Select
    Exit For
    End If
    Next i
    ActiveCell.Offset(0, 1) = Me.T_Designation.Value
    MsgBox " Modification confirmée"
 End With
 End If
End Sub
0
yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024 1 551
4 oct. 2022 à 17:43

Je ferais plutôt ainsi (non testé):

Private Sub b_modif_Click()

 Dim i As Long

   If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") = vbYes Then
    
   With ThisWorkbook.Sheets("Electrique")
    For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
      If .Cells(i, 1) = Me.T_Id.Text Then
        .Cells(i, 1).Offset(0, 1) = Me.T_Designation.Value
        MsgBox " Modification confirmée"
        Exit For
      End If
    Next i
 End With
 End If
End Sub

Il manquait un point devant les deux "Cells".
Et l'utilisation du Select et Active peut conduire à des comportements inattendus.

0
mimi > yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024
7 oct. 2022 à 07:24

Je vous remercie infiniment, votre proposition marche très bien.

merci encore une fois

0