Liaison ComboBox+plusieurs TextBox avec saut des colonnes

Bonsoir,

J'ai un fichier de gestion de la production avec un user forme qui a Un comboBox et plusieurs TextBox 'jai besoin qu'a la saisie de chaque données soit le bouton MODIFIER, NOUVELLE ENTRÉE les donnée parte a l'action choisis

NB: les colonnes D,S,T,U,V,AB,AC,Ad,AF, et AH elles ne doivent pas être modifier avec userform elle doivent être sautées.

ci joint mon fichier

Cordialement.

Bonjour Mahadey, bonjour le forum,

Plusieurs remarques :

• pourquoi E7, E8 dans l'UserForm alors qu'il n'apparaissent pas dans le tableau ?!...

• pourquoi V4 ne contient pas de formule et V5 en contient une qui fait référence à O4 ? Est-ce normal

J'ai utiliser la propriété [Tag] des TextBoxes en leur attribuant le numéro de la colonne qui leur correspond. La TextBox1 Nombre de Sacs doit avoir sa valeur reportée dans la colonne B (=2) donc la propriété [Tag] de la TextBox1 est égale à 2, etc...

Cela permet de boucler sur les contrôles et de récupérer/renvoyer les valeurs très rapidement et sans erreur.

Je n'ai pas compris le bouton Nouvelle Entrée. Du coup je l'ai supprimé. Le bouton VALIDER sert tant pour modifier que pour nouvelle entrée...

Le code :

Option Explicit
Private Ws As Worksheet

Private Sub UserForm_Initialize()
Dim DL As Long

Set Ws = Sheets("ELMIKI")
DL = Ws.Range("A" & Application.Rows.Count).End(xlUp).Row - 1 'à cause du Total
Me.ComboBox1.List = Ws.Range("A4:A" & DL).Value
End Sub

'Correspond au programme de la LISTE DEROULANTE
Private Sub ComboBox1_Change()
Dim LI As Long
Dim CTRL As Control

If Me.ComboBox1.ListIndex = -1 Then Exit Sub
LI = Me.ComboBox1.ListIndex + 4
For Each CTRL In Me.Controls
    If CTRL.Tag <> "" Then CTRL.Value = Ws.Cells(LI, CByte(CTRL.Tag)).Value
Next CTRL
End Sub
'Correspond au programme du bouton VALIDER
Private Sub CommandButton2_Click()
Dim LI As Long
Dim CTRL As Control

If Me.ComboBox1.ListIndex = -1 Then Exit Sub
If MsgBox("Etes-vous cer ?", vbYesNo, "Demande de confirmation") = vbYes Then LI = Val(ComboBox1.ListIndex) + 4
For Each CTRL In Me.Controls
    If CTRL.Tag <> "" Then Ws.Cells(LI, CByte(CTRL.Tag)).Value = CTRL.Value
Next CTRL
Unload Me
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Le fichier :

49mahadey-v01.xlsm (26.59 Ko)

Bonjour merci pour votre aide mais mon problème ne pas résolue complètement car les deux dernier TexteBox sont l'un pour dépense et l'autre pour Versement donc les deux information doivent être saisie.

Rechercher des sujets similaires à "liaison combobox textbox saut colonnes"