Probleme avec le bouton modifier dans mon userform

Salut à tous , j'ai un problème avec mon bouton modifier , en effet je voudrais que suite à la sélection d'une personne X et que je modifie des données , cette dernière (la modif) ne me fais pas une nouvelle insertion dans ma table mais une MAJ de la ligne sélectionnée. voici mon bout de code et merci pour votre aide

'Pour le bouton Modifier
Private Sub CommandButton2_Click()
    Dim Ligne As Long
    Dim I As Integer

    If MsgBox("Confirmez-vous la modification de ce fournisseur ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
        Ligne = Me.ComboBox1.ListIndex + 2
        Ws.Cells(Ligne, "B") = ComboBox2
        For I = 1 To 7
            If Me.Controls("TextBox" & I).Visible = True Then
                Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
            End If
        Next I
    End If
End Sub

Bonsoir,

Ce n'est pas ce qu'elle fait ?

La ligne d'insertion est définie par ComboBox1, ce n'est donc pas une nouvelle ligne !

Il serait par contre mieux de tester la valeur ListIndex de ComboBox1 avant le message de confirmation plutôt qu'près.

Cordialement.

Non MFerrand, quand je modifie un champ et que je clique sur le bouton modifier, il y'a un nouvel ajout dans mon tableau comme si j'ajoutais un nouveau fournisseur

Ce n'est pas ce que je lis ici :

Ligne = Me.ComboBox1.ListIndex + 2

Es-tu sûr que le code correspond au bouton ?

(Quand on ne renomme pas ses contrôles il est facile de faire des confusions).

oui oui je le suis! en fait moi je voudrais atteindre l'objectif suivant:

sur le userform y'aura une listbox aui m'affiche tous mes fournisseurs et quand je sélectionne un dans ma liste , ses infos s'affcihent chacune dans sa case concernée et et je change quelque chose puis en cliquant modifier la MAJ aura lieu

mais pour cela j'y vais petit à petit.

merci pour ton aide : )

Vu la procédure que tu as montré, c'est ce que tu devrais déjà avoir, à ceci près que c'est une ComboBox qui accueille la liste et non une ListBox, ce qui ne change rien, et qui est sans doute mieux dans ce cas, une ComboBox occupant moins de place...

Bref, je ne vois pas sur la seule de la procédure attachée à un bouton comment est alimentée la liste de la Combo mais l'articulation de la procédure laisse penser qu'il s'agit de la colonne A d'une base de données comportant 9 colonnes. La colonne B est régie par une autre ComboBox et les 8 autres données vont dans des TextBox. Logiquement une sélection dans Combo1 devrait afficher les autres éléments, te permettre de les modifier et lorsque tu valides la ligne est mise à jour. La façon dont est définie la ligne indique que tes données commencent ligne 2. Il est sûr en tout cas que ce n'est pas une nouvelle ligne qui est définie.

Si cela ne se passe pas ainsi, c'est que tu n'as pas fourni les bonnes informations...

Cordialement.

Rechercher des sujets similaires à "probleme bouton modifier mon userform"