Problème de combobox

Bonjour à tous,

J'ai créé un userform1 avec une combobox cb1

Le code que j'ai introduit:

Private Sub cb1_Change()
cb1.AddItem "Nathalie"
cb1.AddItem "Paul"
cb1.ListIndex = 0
Range("a1") = cb1.Value
Me.Hide
End Sub

A l'exécution, la liste est vide et dans excel rien n'apparaît dans a1.

Je ne trouve pas l'erreur !

Quelqu'un pourrait-il m'aider ?

Merci d'avance.

sylb

Bonjour toutes et tous

@Sylb

Comme cela ci-joint


  • 1 Userform1

- 1 Combobox avec 1 bouton 'fermer' (ferme l'userform)

code de l'usf1

Private Sub cb1_Change()
Sheets("Feuil1").Range("a1") = cb1.Value
End Sub

Private Sub CommandButton1_Click()
'btn fermer
Unload Me
End Sub

Private Sub UserForm_Initialize()

cb1.AddItem "Nathalie"
cb1.AddItem "Paul"

End Sub
  • sur la Feuil1

1 bouton de commande ActiveX

crdlt,

André

Bonjour à tous,

Merci André pour ta réponse.

J’ai créé un programme (assez long) pour imprimer un tableau à partir des extraits de comptes et qui fonctionne parfaitement. Je voudrais l’améliorer par quelques procédures, afin de ne pas devoir introduire manuellement les données, notamment à l’aide d’une combobox pour introduire les titulaires des comptes, les date de début et de fin par calcul et le solde à donner dans une textbox.

Tu m’as déjà aidé pour les mois de l’année qui sont en mode texte abrégés (janv, févr, mars, …). C’est OK.

Pour la combo, tu m’as donné des idées qui fonctionnent et je t’en remercie. Il reste les points suivants pour pour pouvoir enfin terminer le travail.

- Mais comme mon tableau réorganise complètement les lignes et les colonnes, je préfèrerais ne pas mettre de bouton activeX , mais que la combo démarre à partir du programme.

- D’autre part, dans la combo j’ai essayé d’utiliser cb1.listindex 0, mais le nom n’apparaissait pas par défaut.

- Je voudrais évidemment récupérer les données dans le programme principal, le titulaire (dans une variable nom à choisir dans la liste combo) et le solde (correspondant au titulaire (dans la variable solde) .

C'est surtout la récupération des variables qui me pose des problèmes.

J’espère ne pas abuser et te remercie pour ton aide.

Sylb

Bonjour toutes et tous

merci de ton retour -;)

je n'ai pas tout compris en espérant que se soit le plus proche de ta requête, ci-joint

  • j'ai ôté le bouton Active X pour ouvrir l'userform, du coup, module 1 de créer userform1.show 0(facultatif le 0 pour vbmodeless ce qui te permets de cliquer dans ta feuille)
  • j'ai ajouté un textbox1 (affichera le solde en Euro )
  • j'ai créer une deuxième feuille 'Feuil2' ou la combo nommé cb1 prend, source la dedans, avec deux plages nommées 'nom' et 'solde'
  • en supplément une validation des données dans la cellule A1 de la Feuil1

après, en attente de ton retour

crdlt,

André

Bonjour,

Sur base de ta réponse, j'ai écris le code suivant:

Private Sub CommandButton1_Click()
Range("a1") = nom.Value = ""
Range("a2") = solde.Value = ""
Unload Me 'je ne trouve pas l'erreur
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
nom.AddItem "Nathalie"
nom.AddItem "Paul"
nom.ListIndex = 0
userform1.Show

Range("a1") = nom.Value
Range("a2") = solde.Value
End Sub

avec la boîte:

image

Merci pour ta patience.

Bonne journée.sylb

Bonjour,

Il ne faut pas confondre le name du Label et le name du TextBox ou Combobox

Private Sub CommandButton1_Click()
Range("a1") = Name (Nom) du TextBox.Value 
Range("a2") = Name (solde) du Textbox.Value
Unload Me 'je ne trouve pas l'erreur
End Sub

Bonjour

et merci pour ta réponse.

Sur base de ta réponse j'ai modifié le code comme suit.

'Private Sub CommandButton1_Click()
'If nom = "" Then
'MsgBox "Introduire toutes les données SVP"
'End If
'End Sub

Private Sub CommandButton2_Click()
Unload Me

'?????
End Sub

P'Private Sub CommandButton1_Click()
'If nom = "" Then
'MsgBox "Introduire toutes les données SVP"
'End If
'End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim nom As String
Dim solde As Variant
innom.AddItem "Nathalie"
innom.AddItem "Paul"
innom.ListIndex = 0
userform1.Show

Range("a1") = innom.Value
Range("a2") = insolde.Value

End Sub
Dim nom As String
Dim solde As Variant
innom.AddItem "Nathalie"
innom.AddItem "Paul"
innom.ListIndex = 0
userform1.Show

Range("a1") = innom.Value
Range("a2") = insolde.Value
End Sub

J'ai donc changé les noms des box en innom et insolde, les variables étant nom et solde.

le userform s'appelle userform1, malgré qu'il persiste à le nommer P'Private Sub CommandButton1_Click()

Tout fonctionne très bien, mais il me donne l'erreur 91, le problème est dans le sub bouton2 (unload) que je n'arrive pas à éliminer.

Merci pour ton aide et bonne journée.

sylb

Re,

Place ton classeur exemple

Hello,

J'obtiens le msg:

image

Comment je fais pour placer le classeur exemple ?

Re,

clique sur cet icone après avoir cliquer sur répondre

image

Re,

Regarde,

J'ai placé des commentaires dans la macro

le combobox est alimenté directement par le gestionnaire de noms qui est dynamique, dans ses propriétés.

Bonsoir « M12 »

Merci beaucoup pour tout le travail que cela t’as occasionné. (Mais je ne sais toujours quelle était l’erreur dans le code de débutant que je t’ai envoyé (bouton1)), j’aime bien de comprendre pour ne plus faire la même erreur.

Motivation …

La copie des extraits de la banque se placent dans une seule colonne avec plusieurs lignes par mouvement, je dois donc réorganiser complètement les lignes et les colonnes pour avoir une ligne par mouvement, je préfèrerais ne pas mettre de bouton activeX dans cette feuille, mais que la combo démarre à partir du programme principal.

J’ai créé un programme (assez long) pour imprimer ce tableau et il fonctionne très bien, mais je devais introduire manuellement le nom de la personne titulaire du compte et son solde dans le code même.

Je voudrais récupérer les données directement dans le programme principal (le nom du titulaire dans la variable nom (combo) et son solde dans la variable solde).

C'est surtout la récupération des variables qui me pose des problèmes pour l’encoder.

Je vais essayer de d’analyser le code que tu m’as envoyé et voir comment l’adapter à mon problème.

Encore merci et bonne soirée.

sylb

Rechercher des sujets similaires à "probleme combobox"