XL 2013 Mon fichier bug

Estysh

XLDnaute Nouveau
Bonjour !
Je ne suis pas une pro du vba.
J'ai un fichier qui me permet de générer des factures, reçus, etc.
J'ai un userform qui est rempli pour générer les reçus. Lorsque je lance l'userform, j'ai une erreur lorsque je clique dans le combobox pour renseigner le nom du client (la rowsource est une zone nommée de mon fichier).
L'erreur est ERREUR D'AUTOMATION L'OBJET INVOQUÉ S'EST DÉCONNECTÉ DE SES CLIENTS.
Seul le bouton "Fin" est activé le bouton "Débogage " est désactivé.

Quand je clique sur fin, après tous mes combobox sont vides; les combobox de tous les userforms de mon fichier.
 
Solution
Re

La précédente modif, c'était pour l'Userform: FrmCommande
Donc pour FrmRecu
Voici le code à ajouter
VB:
Private Sub UserForm_Initialize()
CboNomClient.List = [Nom_Client].Value
End Sub
NB: Toujours en prenant soin de supprimer le contenu de la propriété RowSource au préalable.

Estysh

XLDnaute Nouveau
Re

•>Estych
Donc si c'est l'userform nommé:FrmCommande
1) Efface le contenu dans la propriété RowSource
(fenêtre Propriétés dans VBE)
2) Remplace le code le l'initialise par celui-ci
VB:
Private Sub UserForm_Initialize()
TxtNuméro.Value = Format(Sheets("Bon de commande").Range("D10") + 1, 0)
BtnEnvoyer.Enabled = False: TxtDate = CDate(Date): LblMatière.Visible = False
LblNomClient.Visible = False: LblPrescription.Visible = False
LblFournisseur.Visible = False: LblTypeVerres.Visible = False
CboNomClient.Visible = False: CboNomClient.List = [Nom_Client].Value
TxtOD.Visible = False: TxtOG.Visible = False
TxtFournisseur.Visible = False: TxtTypeVerre.Visible = False
TxtVerres.Visible = False: TxtMatière.Visible = False
Sheets("Bon de commande").Range("A7,D9,A13:B15,D13:D15,C13:C18,C21") = ""
End Sub
NB: Pour faire ces modifs, ouvre ton classeur sans activer les macros (cela évitera le plantage à l'ouverture)
Ok. J'essaye.
J'ai l'impression que ça bug car le fichier est lourd, votre solution me permettra l'alleger.
 

Staple1600

XLDnaute Barbatruc
Re

La précédente modif, c'était pour l'Userform: FrmCommande
Donc pour FrmRecu
Voici le code à ajouter
VB:
Private Sub UserForm_Initialize()
CboNomClient.List = [Nom_Client].Value
End Sub
NB: Toujours en prenant soin de supprimer le contenu de la propriété RowSource au préalable.
 

Estysh

XLDnaute Nouveau
Re

La précédente modif, c'était pour l'Userform: FrmCommande
Donc pour FrmRecu
Voici le code à ajouter
VB:
Private Sub UserForm_Initialize()
CboNomClient.List = [Nom_Client].Value
End Sub
NB: Toujours en prenant soin de supprimer le contenu de la propriété RowSource au préalable.
Oui j'ai fait.
Et j'ai fait la modification pour toutes mes combobox.
Maintenant ça marche.
Merci infiniment.
 

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg