Combox box liées dans un formulaire de modification d'1 base de donnée existante
RaoulRuiz
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
RaoulRuiz Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
RaoulRuiz Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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?
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:
- Combox box liées dans un formulaire de modification d'1 base de donnée existante
- Whatsapp formulaire opposition - Guide
- Suivi de modification word - Guide
- Formulaire de réclamation facebook - Guide
- Set-top box - Accueil - Box & Connexion Internet
- Base de registre - Guide
4 réponses
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
pourrais-tu clore ce post avant d'en ouvrir un nouveau stp
https://forums.commentcamarche.net/forum/affich-36666541-forcer-format-de-saisie-textbox
Bonjour,
Je ne trouve pas comment clore un sujet.
Comment faut il faire stp?
Merci
Je ne trouve pas comment clore un sujet.
Comment faut il faire stp?
Merci