Modifier des TxtBox avec un CommandeBouton dans un UserForm

Bonjour, je reviens vers vous car j'ai un petit problème avec un Bouton "Modifier" dans mon UserForm "Recherche d'un Produit". Il m'affiche une erreur de compilation, j'aimerais que quand je choisi le produit dans la ComboBox "Cbx_Produit" que je puisse le modifier et qu'il me sauvegarde la modification quand j'appuie sur le bouton "btnModifierProduit". Auriez-vous une solution à me proposer svp? Merci pour votre aide.

Cordialement

'Permet la modification d'un Produit
Private Sub btnModifierProduit_Click()
    Dim Ligne As Long
    Dim I As Integer

    If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
        If Me.Cbx_produit.ListIndex = -1 Then Exit Sub
        Ligne = Me.Cbx_produit.ListIndex + 2
        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
17stock2022.zip (364.32 Ko)

Bonjour,

Plusieurs erreurs : la variable Ws devrait être instanciée au lancement de votre userform dans votre module 3 (que vous pourriez appeler par exemple Mod03_Modifier pour vous y retrouver plus facilement). Actuellement cette variable n'existe pas.

Option Explicit

Public Ws As Worksheet

Sub OuvreFormulaire()

    Set Ws = Sheets("BaseDeDonnées")
    With FrmRecherche
         .Show
    End With

    Set Ws = Nothing

End Sub

Dans votre userfom, vos contrôles n'ont pas de valeur numérique dans leur nom.

J'ai pas très bien compris…J'ai essayer de faire comme vous m'avez dit mais j'y arrive pas, il me met cette fois "Erreur de compilation: Attribut incorrect dans une procédure Sub ou Function". Vous pouvez modifier directement le programme sur le fichier Excel svp? Merci pour le soutien.

Cordialement.

Les erreurs au niveau des contrôles sont toujours là...

7stock2022.zip (347.56 Ko)

Le programme fonctionnent presque! Quand j'appuie sur "Modifier" il me demande bien "Confirmez-vous la modification de ce Produit ?", mais la quand j'appuie sur oui il plante...

Cordialement.

image

Vos contrôles Me.Controls("TextBox" & I) n'existent pas...

Je marque quoi à la place ? je veut modifier mes TextBox et ma combobox "StockNom". Je m'excuse mais je suis débutant dans le VBA , le programme que j'ai écris vient en faite d'un tuto YouTube d'où je me suis inspirer. Pouvez-vous simplement me refaire le fichier Excel svp? je pense que j'y arriverais pas...Merci.

Cordialement.

Vous devez utiliser ce genre d'écriture :

         With Ws
              .Cells(Ligne, 2) = Me.TextDesignation
              .Cells(Ligne, 3) = Me.TextReference
              '......

         End With

Et pas celle-ci :

   '     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

A ok je vois merci, maintenant il prend bien en compte la modification mais j'ai l'impression qu'il va créer une ligne , il ne modifie pas la valeur dans le tableau. Dit moi si je me trompe mais il dois y avoir une erreur dans ce bout de programme non? :

 If Me.Cbx_produit.ListIndex = -1 Then Exit Sub
        Ligne = Me.Cbx_produit.ListIndex + 2
capture d ecran 2022 02 21 154346
5stock.zip (352.33 Ko)

Attention j'ai modifié quelques uns de vos articles.

Je laisse tomber cette discussion.

Bon courage.

Ah cela fonctionne très bien maintenant. Merci 1000* et passe une bonne fin journée.

Cordialement

Rechercher des sujets similaires à "modifier txtbox commandebouton userform"