Problème User Form

Bonjour a tous, je travail actuellement a la création d'un tableau me permettant de gérer un stock via des codes barres en étant débutant sur le vba (j'apprend tout au fur et a mesure) mais je suis tombé sur un os en voulant crée un bouton modifier sur mon UserForm EPI je n'arrive absolument pas a trouvé comment faire j'ai également tenté de crée une boucle sur ce même UserForm pour me permettre de vérifier que les nouveau article entré ne sont pas déjà existant mais cela ne marche pas quelqu'un pourrai t'il m'expliquer mes erreurs ci-joint le fichier

Bonne journée a tous

Bonjour Mael, bonjour le forum,

J'avoue ne rien comprendre à la construction de tes tableaux. Toutefois voilà le code que j'aurais écris pour l'UserForm1_EPI :

Private O As Worksheet 'déclare la variable O (Onglet)
Private TS As ListObject 'déclare la variable TS (Tableau Structuré)
Private TV As Variant 'déclare la variable TV (Tabeau des Valeurs)

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Set O = Worksheets("Tableau") 'définit l'onglet O
Set TS = O.ListObjects("Tableau_EPI") 'définit le tableau structuré TS
TV = TS.DataBodyRange 'définit le tableau des valeurs TV
End Sub

Private Sub CommandButton1_Click() 'au clic du bouton "Valider Saisie"
Dim I As Integer 'déclare la variable I (Incrément)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (Ligne)

If Me.TextBox1.Value = "" Then Exit Sub 'si la TexrtBox1 est vide, sort de la procédure
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    If CStr(TV(I, 1)) = Me.TextBox1.Value Then 'condition : si la donnée ligne I colonne 1 de TV (convertie en texte) est égale à la valeur de la TextBox1
        MsgBox "Erreur, le code entrée existe déjà !" 'message
        Unload Me 'vide et ferme l'UserForm en cours
        UserForm1_EPI.Show 'ouvre l'UserForm1_EPI (vierge)
    End If 'fin de la contiion
Next I 'prochaine ligne de la boucle
Set R = TS.ListColumns(1).Range.Find("") 'définit la recherche R (recherche du vide dans la colonne 1 des données de TS
If R Is Nothing Or TS.ListRows Is Nothing Then 'si aucune occurrence trouvée ou si TS ne comprote pas de ligne
    TS.ListRows.Add 'ajoute une ligne à TS
    LI = TS.ListRows.Count 'définit la ligne LI
Else 'sinon (au moins une occurrence trouvée)
    LI = R.Row - TS.HeaderRowRange.Row 'définit la ligne LI (Ligne de lá première occurrence trouvée moins la ligne des en-têtes de TS)
End If 'fin de la condition
TS.DataBodyRange(LI, 1) = Me.TextBox1.Value 'renvoie la valeur de la TextBox1 dans la ligne LI colonne 1 des données de TS
TS.DataBodyRange(LI, 2) = Me.TextBox2.Value 'renvoie la valeur de la TextBox2 dans la ligne LI colonne 2 des données de TS
TS.DataBodyRange(LI, 3) = Me.TextBox3.Value 'renvoie la valeur de la TextBox3 dans la ligne LI colonne 3 des données de TS
End Sub

Private Sub CommandButton3_Click()
UserForm1_EPI.TextBox1 = O.Cells(16, 1) 'quel est le but ?
End Sub

Private Sub CommandButton2_Click()
Unload UserForm1_EPI
End Sub

Bonjour à tous,

Bonjour ThauThème.

Une solution avec une boite de dialogue que gère les nouveaux articles et les modifications.

Bonjour a tous et merci pour vos réponse, qu'est ce que vous ne comprenez pas ? Il est vrai que je débute tout juste dans Excel il est donc fort probable que ma méthodologie ne sois pas la bonne

Rechercher des sujets similaires à "probleme user form"