Bonjour,
je suis loin de maîtriser complètement Excel et le VBA, c'est d'ailleurs pourquoi je suis ici.
J'ai créé un document qui permet de faire des factures automatiquement en répondant à une série de questions.
Dans un premier temps, l'utilisateur doit choisir, dans une liste déroulante, le client à qui il veut facturer. Ensuite, dans une autre liste, il doit choisir les articles spécifiques à ce client qu'il veut facturer, etc...
Lors de la première exécution, il n'y a pas de problème.
Or, après avoir créé la première facture, si je lance une 2ème facture, le combobox garde les valeurs précédentes. Pire, j'ai l'impression que même après avoir choisi le client, les articles affichés dans le 2 ème combobox sont ceux du client précédent.
Ma question est donc:
Comment pourrais-je, à la fin (ou au tout début) de ma macro, m'assurer que les combobox sont réinitialisés?
Au moment de l'initialisation, je fais un Me.ComboBox1.Clear mais je n'ai pas l'impression que cela fonctionne.
Private Sub UserForm_Initialize() 'Remplir la liste déroulante selon le nom des onglets Dim I As Long Dim NbreClients As Integer I = 3 NbreClients = Worksheets("Base").Range("L3").Value + 2 Me.ComboBox1.Clear For I = 3 To NbreClients Me.ComboBox1.AddItem ThisWorkbook.Worksheets(I).Name Next Me.ComboBox1.Value = "Choisir le nom du client"End Sub
D'ailleurs, lors de la 2ème exécution, la valeur par défaut est celle de la facture précédente, alors qu'elle devrait être "choisir le nom du client".
Je mets le fichier, ça sera plus simple
Merci d'avance pour votre aide!