Microsoft 365 Formulaire et bouton supprimé ligne

ERN

XLDnaute Junior
Bonjour à tous,

Je gère une base de données avec un formulaire. Dans celui-ci j'ai plusieurs boutons dont :
- Un bouton "supprimer" qui en théorie doit effacer la ligne sélectionnée dans une listbox et également de ma bdd mais il supprime une autre ligne qui n'a rien à voir.
- Un bouton "modifier" qui lui rajoute une ligne au lieu de modifier la ligne sélectionnée.

Plus j'avance dans la création de ce fichier plus je me sens perdu. Auriez-vous une idée du problème ?

J'ai surtout l'impression que les boutons n'ont plus les mêmes actions quand ma liste d'articles est complète (c'est à dire quand j'ai plus de 100 000 lignes d'articles)

Vous trouverez le fichier joint ainsi que les codes de mes boutons : (Attention, le formulaire s’exécute à l'ouverture du fichier.)


VB:
Private Sub CommandButton4_Click()
   Modif = True
   If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") <> vbYes Then Exit Sub

ligne = ListBox1.ListIndex + 3
Range("a" & ligne) = TxtB_1.Value
Range("b" & ligne) = TxtB_2.Value
Range("c" & ligne) = TxtB_3.Value
Range("d" & ligne) = TxtB_4.Value
Range("e" & ligne) = TxtB_5.Value
Range("f" & ligne) = TxtB_6.Value
Range("g" & ligne) = TxtB_7.Value
Range("h" & ligne) = TxtB_8.Value
Range("i" & ligne) = TxtB_9.Value
Range("j" & ligne) = TxtB_10.Value
Range("k" & ligne) = TxtB_11.Value

   End Sub

Private Sub CommandButton5_Click()
If MsgBox("Voulez-vous supprimer la ligne sélectionnée ?", vbYesNo, "     SUPPRESSION DE LIGNE") = vbYes Then
        ActiveCell.EntireRow.Delete
        End If
If ListBox1.ListIndex = -1 Then Exit Sub
Sheets("Bdd").Rows(ListBox1.ListIndex + 3).Delete
ListBox1.RemoveItem (ListBox1.ListIndex)

End Sub
 

Pièces jointes

  • Bdd_fournisseurs.xlsm
    620.8 KB · Affichages: 15
Dernière édition:

ERN

XLDnaute Junior
Bonjour Bruno et encore merci pour votre aide.

J'en profite pour vous poser une question par rapport au bouton "modifier". En effet, les modifications ne s'appliquent que sur ma première colonne.

Auriez-vous une idée ?

Merci d'avance,

Voici le code de mon bouton :
Private Sub CommandButton4_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
Modif = True
If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") <> vbYes Then Exit Sub
ligne = ListBox1.ListIndex + 3
kit = True
For col = 1 To 11
ListBox1.List(ligne - 3, col - 1) = Controls("TxtB_" & col).Value
Cells(ligne, col) = Controls("TxtB_" & col).Value
Next
kit = False
End Sub
 

Pièces jointes

  • Bdd_fournisseurs.xlsm
    618.8 KB · Affichages: 8

Discussions similaires

Réponses
4
Affichages
165

Statistiques des forums

Discussions
311 720
Messages
2 081 923
Membres
101 840
dernier inscrit
SamynoT