Combox box liées dans un formulaire de modification d'1 base de donnée existante

Fermé
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 11:32
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020 - 26 mai 2020 à 16:50
Bonjour,

J'ai un soucis de code que je n'arrive pas à régler.
J'ai créer un formulaire avec des combox liées permettant la saisie dans une base de donnée.
Cela fonctionne .

J'ai créer un autre userforme qui importe les données de la base de donnée pour pouvoir les modifier.
Je n'arrive pas à réutiliser les comboxbox liés tels que je l'avais codées pour la saisie initiale.

code formulaire de saisie (qui fonctionne):



Private Sub UserForm_initialize()
Dim colonne As Integer
Cbo_Zone.Style = fmStyleDropDownList 'interdit la saisie libre dans la combobox
Cbo_Pays.Style = fmStyleDropDownList
Cbo_Origine.Style = fmStyleDropDownList
ComboBox_Etat.Style = fmStyleDropDownList
ComboBox_Referent.Style = fmStyleDropDownList
ComboBox_Type.Style = fmStyleDropDownList
ComboBox_Type.Style = fmStyleDropDownList

Me.TextBox_Ref.SetFocus ' positionne le curseur sur la champ référence à l'ouverture du formulaire

colonne = 2
Sheets("ZONES PAYS").Activate
Do While Cells(2, colonne).Value <> ""
frmSaisie.Cbo_Zone.AddItem Cells(2, colonne).Value
colonne = colonne + 1
Loop
End Sub

Private Sub Cbo_Zone_Change()
Dim i As Integer, j As Integer
Sheets("ZONES PAYS").Activate
i = 2 'compteur de colonne
frmSaisie.Cbo_Pays.Clear
Do While Cells(2, i).Value <> ""
If Cells(2, i).Value = Cbo_Zone.Value Then
Cells(2, i).Select
colonne = ActiveCell.Column
End If
i = i + 1
Loop

j = 3

Do While Cells(j, colonne).Value <> ""

frmSaisie.Cbo_Pays.AddItem Cells(j, colonne)
j = j + 1
Loop

Cbo_Pays.ListIndex = 0
End Sub


Code formulaire de modification de données:
Private Sub Cbo_Contrat_Change()

Feuil2.Activate
Range("A9").Select
Me.lblMessage = ""


Do Until ActiveCell = Me.Cbo_Contrat Or ActiveCell = ""
ActiveCell.Offset(1, 0).Select
Loop

If ActiveCell = "" Then
Me.Cbo_Contrat = ""
Me.lblMessage = "Contrat inexistant"
Me.TextBox_Anal = ""
Me.Cbo_Zone = ""
Me.Cbo_Pays = ""
Me.TextBox_Client = ""
Me.CboBox_Origine = ""
Me.TextBox_Expert = ""
Me.ComboBox_Referent = ""
Me.ComboBox_Etat = ""
Me.ComboBox_Type = ""
Me.TextBox_Debut = ""
Me.TextBox_Fin = ""
Me.TextBox_Montant = ""
Me.TextBox_Commentaire = ""
Exit Sub
End if



Me.TextBox_Anal = ActiveCell.Offset(0, 1)
Me.Cbo_Zone = ActiveCell.Offset(0, 2)
Me.Cbo_Pays = ActiveCell.Offset(0, 3)
Me.TextBox_Client = ActiveCell.Offset(0, 6)
Me.CboBox_Origine = ActiveCell.Offset(0, 7)
Me.TextBox_Expert = ActiveCell.Offset(0, 9)
Me.ComboBox_Referent = ActiveCell.Offset(0, 10)
Me.ComboBox_Etat = ActiveCell.Offset(0, 11)
Me.ComboBox_Type = ActiveCell.Offset(0, 12)
Me.TextBox_Debut = Format(ActiveCell.Offset(0, 13), "DD/MM/YYYY")
Me.TextBox_Fin = Format(ActiveCell.Offset(0, 14), "DD/MM/YYYY")
Me.TextBox_Montant = Format(ActiveCell.Offset(0, 16), "CURRENCY")
Me.TextBox_Commentaire = ActiveCell.Offset(0, 17)

'Premiere combox fonctionne
Dim colonne As Integer
colonne = 2
Sheets("ZONES PAYS").Activate
Do While Cells(2, colonne).Value <> ""
frmRecherche.Cbo_Zone.AddItem Cells(2, colonne).Value
colonne = colonne + 1
Loop


'Cbo_Zone.Style = fmStyleDropDownList 'interdit la saisie libre dans la combobox
'Cbo_Pays.Style = fmStyleDropDownList
CboBox_Origine.Style = fmStyleDropDownList
ComboBox_Etat.Style = fmStyleDropDownList
ComboBox_Referent.Style = fmStyleDropDownList
ComboBox_Type.Style = fmStyleDropDownList

End Sub

Je n'arrive pas à faire fonctionner la 2ème combox liée à la première en gardant en valeur initiale celle existante dans la base donnée

Mon code est assez long, y a t il moyen de joindre un ficher excel pour que ma demande soit plus explicite?






Configuration: Windows / Chrome 81.0.4044.138
A voir également:

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mai 2020 à 11:43
Bonjour,

pourrais-tu clore ce post avant d'en ouvrir un nouveau stp

https://forums.commentcamarche.net/forum/affich-36666541-forcer-format-de-saisie-textbox

0
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020
26 mai 2020 à 12:19
Bonjour,

Je ne trouve pas comment clore un sujet.
Comment faut il faire stp?

Merci
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mai 2020 à 12:40
Si tu as eu une réponse qui te satisfasse tu cliques sur Marqué comme résolu.
Sinon tu expliques ce qui ne va pas. On pourra te donner d'autres solutions si cela est possible

Nous sommes tous bénévoles.

@+ Le Pivert
0
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020
26 mai 2020 à 13:35
Du coup, j'ai cloturé ce sujet au lieu du 1er.
Y-a-t-il moyen de le réactiver ou faut il en recréer un?

Merci à vous.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 mai 2020 à 16:44
Pour joindre un fichier utilise

https://www.cjoint.com/

ensuite tu colles le lien obtenu ici

@+
0
RaoulRuiz Messages postés 5 Date d'inscription mardi 26 mai 2020 Statut Membre Dernière intervention 26 mai 2020
26 mai 2020 à 16:50
Merci de l'info.

Mon fichier donc au lien suivant: https://www.cjoint.com/c/JEAoWQ4tOyc

Je pense que ce sera plus simple à comprendre.

Merci à vous.
0