UserForm problème Modifier données

Bonjour,

Apres de nombreuses recherches je demande votre aide, j'ai consulté moult et moult tuto sur l'Userform

mais la plus part nous indique juste de copier/coller le code en VBA. N'y connaissant pas grand chose je n'ai pas réussi à comprendre le bout de code me posant problème.

Dans l'userform quand je commence a saisir un numéro de commande semblable a une déjà existante l'userform se remplit directement avec les données de l'autre commande ce qui ne me va pas trop

J'ai cru comprendre qu'en insérant :

ComboBox1.MatchEntry = fmMatchEntryNone

Cela réglerai mon problème mais je ne sais pas où l’insérer :s Ça c'est bon

Mon principal problème est que je ne peux pas modifier de commande déjà entré dans la base voici le morceau de code correspondant :

Spoiler

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

    If MsgBox("Confirmez-vous la modification de cette commande ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
        Ligne = Me.ComboBox1.ListIndex
        Ws.Cells(Ligne, "I") = ComboBox2
            If Me.Controls("TextBox").Visible = True Then
                Ws.Cells(Ligne, 2) = Me.Controls("TextBox1")
                Ws.Cells(Ligne, I) = Me.Controls("Combobox2")
                Ws.Cells(Ligne, 4) = Me.Controls("Combobox3")
                Ws.Cells(Ligne, 5) = Me.Controls("TextBox2")
                Ws.Cells(Ligne, 6) = Me.Controls("TextBox3")
                Ws.Cells(Ligne, 7) = Me.Controls("TextBox4")
                Ws.Cells(Ligne, 8) = Me.Controls("CheckBox1")
                Ws.Cells(Ligne, 9) = Me.Controls("CheckBox2")
                Ws.Cells(Ligne, 10) = Me.Controls("CheckBox3")
                Ws.Cells(Ligne, 11) = Me.Controls("CheckBox4")
                Ws.Cells(Ligne, 12) = Me.Controls("CheckBox5")
                Ws.Cells(Ligne, 13) = Me.Controls("CheckBox6")
                Ws.Cells(Ligne, 14) = Me.Controls("CheckBox7")
                Ws.Cells(Ligne, 15) = Me.Controls("CheckBox8")
                Ws.Cells(Ligne, 16) = Me.Controls("CheckBox9")
                Ws.Cells(Ligne, 17) = Me.Controls("CheckBox10")
                Ws.Cells(Ligne, 18) = Me.Controls("CheckBox11")
             End If
    End If

End Sub

Je vous l'accorde que mon code ne doit pas être très propre mais j'ai fais de mon mieux.

Si vous n'avez rien qu'un lien qui m'explique clairement ce que je dois faire je suis preneur

Merci de votre aide !

26les-commandes.xlsm (28.06 Ko)

Bonjour,

J'ai corrigé une erreur de logique. Votre base de données commandes est sur la feuille 1 et non sur la feuille 2 qui ne contient que des tables.

Par ailleurs, la combobox contenant les numéros de commande doit être chargée à l'exécution et non au niveau de la compilation sous peine de plantage Excel car la liste est modifiée à l'exécution.

ci-jointe une proposition.

24les-commandes1.xlsm (30.09 Ko)

Bonjour Thev,

Je vous remercie vraiment pour votre aide, tout est parfaitement fonctionnel.

Si je comprend bien, outre les problèmes de tables et de combobox est-ce à cause de

Me.Controls

que la modification ne s’opérait pas ?

est-ce à cause de

Me.Controls

que la modification ne s’opérait pas ?

Non, car Me.Controls("TextBox1") et Me.TextBox1 représente le même contrôle ActiveX mais dans ce cas l'utilisation de l'objet Me.Controls est superfétatoire. L'erreur était ailleurs.

Rechercher des sujets similaires à "userform probleme modifier donnees"