Combobox

Bonsoir, je suis nouveau dans EXCEL PRATIQUE et débutant dans le VBA Excel mais j'ai un problème et j'espere que vous m'aidez.

j'ai un combobox1 des années sur une feuille Excel et un autre combobox2 aussi des années sur un Userform et je veux transférer des données de l'userforme vers la feuille. Comment obliger le combobox 1 à prendre la valeur du combobox2 avant de transferer les données? et merci

Bonsoir, et bienvenue sur le Forum...

As-tu lu la charte du Forum, et notamment le point 6 ?

https://forum.excel-pratique.com/viewtopic.php?f=2&t=13

Cordialement.

Bonsoir Adnane Ayatti, MFerrand,

si ton UserForm s'appelle "UserForm1", il me semble bien qu'il te suffit de faire :

Worksheets("Feuil1").ComboBox1.Value = UserForm1.ComboBox2.Value

* le ComboBox1 étant celui que tu as mis sur ta feuille de calcul "Feuil1"

* le ComboBox2 étant celui de ton formulaire "UserForm1"

dhany

Excuser moi, mais je n'arrive pas à reconnaitre le nom de mon combobox1qu'est sur la feuille Excel

et merci d'avance

sélectionne ta ComboBox, puis regarde l'endroit encadré en rouge sur cette image :

screen

dhany

merci encore une fois mais quand je rentre cette formule (Worksheets("Feuil1").ComboBox1.Value = UserForm1.ComboBox2.Value) dans le code et je l'exécute le programme me fait débogage et s'arrête sur cette formule

* non, la formule, faut pas t'en occuper : ma copie d'écran est seulement pour le nom encadré en rouge : ComboBox1

* dans le code VBA, utilise ce nom ComboBox1 comme je t'ai indiqué dans mon post de 00:50 :

Worksheets("Feuil1").ComboBox1.Value = UserForm1.ComboBox2.Value


edit : j'ai lu ton dernier post trop vite ! c'est ce que tu as déjà fait ! dans ce cas, si ça bug, c'est que ça doit être un autre nom ; sinon, faut que tu envoies ton fichier pour pouvoir y voir plus clair ; pour cela, utilise le bouton « Ajouter des fichiers » situé sous la fenêtre d'édition du post ; attention : si ton fichier contient des données confidentielles, tu dois les remplacer par des données fictives !

dhany

j'écris la formule suivante comme tu me l'as déjà dis mais toujours débogage

Worksheets("Dépences").annee.Value = Entrées_Dépences. dat1.Value

sachant que : * Dépences = nom de la feuille

* annee = combobox1

* Entrées_Dépences = nom de l'userforme

*dat1 = combobox 2

ajout : dans ton énoncé initial, tu n'as pas précisé le nom de ta feuille ! mais il va de soi que si ta feuille s'appelle autrement que "Feuil1", tu dois adapter mon instruction VBA ! par exemple, si ta feuille s'appelle "Ventes", tu dois mettre :

Worksheets("Ventes").ComboBox1.Value = UserForm1.ComboBox2.Value


et si en plus ton UserForm s'appelle "Bidule", tu dois mettre

Worksheets("Ventes").ComboBox1.Value = Bidule.ComboBox2.Value

dhany

on s'est croisés ! alors commençons par le nom de la feuille : "Dépences" ; t'es bien sûr ? c'est pas plutôt "Dépenses" ? car l'orthographe correcte est avec un « s », pas avec un « c » !

ça donnerait alors : Worksheets("Dépenses") et pas Worksheets("Dépences")


nom du UserForm : idem : c'est peut-être "Entrées_Dépenses" et pas "Entrées_Dépences" ?


* pour ComboBox1, vérifie si c'est pas plutôt : "année"

* pour ComboBox2, vérifie si c'est pas plutôt : "date1"


en programmation, faut être très rigoureux : si tu te trompes dans l'orthographe d'un nom, c'est fichu : VBA ne reconnaît plus le UserForm, la feuille, ou la ComboBox ! donc tu dois taper exactement le même nom que celui que tu as choisi pour l'objet.


j'ai oublié d'te préciser qu'tu dois m'laisser l'temps d'taper mes posts car j'tape pas très vite !

dhany

merci de votre attention mais ce n'est pas un problème d'ecriture car les noms je les écris une seule fois puis je fais chaque fois que je les utilisent copie coller

alors si c'est pas un problème de noms, pour t'aider davantage, il faut que tu envoies ton fichier !

je t'ai déjà indiqué plus haut comment faire ; relis ce post : https://forum.excel-pratique.com/viewtopic.php?p=677051#p677051

dhany

voici le code sachant que j'ai un autre combobox = combobox1 sur mon userforme car dans le code il y'a 3combobox : combobox 1et dat1 sur userforme et un autre combobox=annee sur une feuille

Private Sub enregistrer1_Click()

Application.ScreenUpdating = False

If Me.dat1 = "" Then

lblMessage = " Veuillez choisir dans la liste l'année !"

Me.dat1.SetFocus

Exit Sub

ElseIf Me.montant1 = "" Then

lblMessage = " Veuillez entrer le montant!"

Me.montant1.SetFocus

Exit Sub

Else

Worksheets("Dépences").annee.Value = Entrées_Dépences.dat1.Value

Sheets("Dépences").Select

For i = 12 To 27

If Cells(i, 2) = Me.ComboBox1.Value Then

Cells(i, 4).Value = Me.montant1.Value

End If

Next

End If

lblMessage = " L'enregistrement c'est bien dérouler?."

Me.ComboBox1 = ""

Me.montant1 = ""

Me.dat1 = ""

Me.ComboBox1.SetFocus

Application.ScreenUpdating = True

End Sub

je t'ai demandé d'envoyer ton fichier, pas un long listing du code VBA !

dhany

Re, Salut Dhany !

Worksheets("Dépences").OLEObjects("annee").Object.Value = Entrées_Dépences. dat1.Value

sous réserve de l'orthographe...

NB- Tu n'as toujours pas lu la charte du Forum !!!

Rechercher des sujets similaires à "combobox"