Transférer les données Combobox vers cellules EXCEL

sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009 - 24 mars 2009 à 13:09
sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009 - 24 mars 2009 à 17:04
Bonjour,

Voilà j'ai commencer a créer un programme VB sous EXCEL 2002 SP3 avec 2 combobox et une textbox avec la date.

Et je rencontre 2 grosses difficultées:
1) La première c'est que mes 2 combobox ne veulent pas afficher le listing voulu (par exemple combobox1 a,b,c et combobox2 x,y,z) lorsque je lance le programme!
---------------------------
Private Sub UserForm_Click()

combobox1.AddItem "a"
combobox1.AddItem "b"
combobox1.AddItem "c"

combobox1.AddItem "x"
combobox2.AddItem "y"
combobox2.AddItem "z"

j'ai un doute sur l'emplacement du prog...

2) Ensuite je souhaite qu'une fois les 2 combobox + la dates choisit et que je clic sur le bouton OK il m'intègre ses données dans les cellules excel:
la date en a,1 / combobox1 dans a,2/ et combobox2 dans a,3

Voici le début du programme:

Private Sub CmdButton1_Click()
'Boîte de dialogue
message = "Etes-vous sûr de vouloir valider votre choix?"
Buttonsandicons = vbYesNo + vbQuestion
title = "Programme message"
Response = MsgBox(message, Buttonsandicons, title)
'Evaluer la réponse
If Response = vbYes Then

?????

End If
End Sub

------------
3) puis qu'il m'enregistre les prochaines données saisies dans les cellules en-dessous.

Voilà j'espère avoir été précis dans les explications
Merci d'avance pour votre aide programmeur en herbe
Sébastien

9 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
24 mars 2009 à 14:07
bonjour
plutot que dans l'évenement click du userform mets le chargement de tes combo dans l'évenement Activate

pour la deuxieme question
reemplace tes ????? par
cells(a,b)= combobox1.text
ou  = textbox.text
bien sûr a et b sont les numero de ligne et de rangée de la cellule que tu veux


pour la troisieme question  ([../reglement.aspx Voir le règlement de CodeS-SourceS] point 5)
tu peux utiliser cette ligne de code qui te donne la derniere ligne (ici  pour la colonne A)
Range("A65536").End(xlUp).Row

donc ça donnerait quelque chose comme ça (non vérifié)
If Response = vbYes Then

    a = Range("A65536").End(xlUp).Row +1
    cells(a,1)= combobox1.text
    cells(a,2) = combobox2.text
    cells(a,2) = textbox.text
end if
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 mars 2009 à 14:14
Gaffe au theme utilisé...

Vous êtes ici : Thèmes / VB.NET et VB 2005
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
24 mars 2009 à 14:22
exact Renfield
d'ailleurs ne serait il pas possible de créer une rubrique VBA  directement à la racine des themes plutot qu'en sous-rubrique de VB6 car c'est une erreur récurrente de trouver le VBA un peu n'importe où 

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009
24 mars 2009 à 16:13
1)l'évenement Activate? là je ne vois pas, peux-tu me donner plus de détail sltp.

2) et 3) ok s'est intégré

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
24 mars 2009 à 16:27
remplace
Private Sub UserForm_Click()

par
Private Sub UserForm_Activate()

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009
24 mars 2009 à 16:37
Ok merci pour le combobox... ça je ne connaissaît pas!

Du coup voici le message d'erreur qui apparaît lors de la simul:
"Membre de méthode ou de données introuvable"

la première ligne de prog est en jaune:
Private Sub CmdButton1_Click()
'Boîte de dialogue
message = "Etes-vous sûr de vouloir valider votre choix?"
Buttonsandicons = vbYesNo + vbQuestion
title = "Programme message"
Response = MsgBox(message, Buttonsandicons, title)
'Evaluer la réponse
If Response = vbYes Then
'insérer les valeurs dans les cellules
a = Range("A65536").End(xlUp).Row + 1
Cells(a, 1) = combox1.Text
Cells(b, 1) = combox2.Text
Cells(c, 1) = TxtBox1.Text
End
End Sub

et il me surligne en bleu le mot .text dans la dernière ligne avec
Cells(c, 1) = TxtBox1.Text

Merci d'avance de ton aide
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
24 mars 2009 à 16:50
tu  es sûr que ta textbox s'appelle txtbox1?
le code n'accepte pas la moindre faute d'orthographe
de plus
If Response = vbYes Then

'insérer les valeurs dans les cellules

a = Range("A65536").End(xlUp).Row + 1

    Cells(a, 1) = combox1.Text

    Cells(b, 1) = combox2.Text

    Cells(c, 1) = TxtBox1.Text

End

devrait etre en toute logique
If Response = vbYes Then

'insérer les valeurs dans les cellules

a = Range("A65536").End(xlUp).Row + 1

    Cells(a, 1) = combox1.Text

    Cells(a, 2) = combox2.Text

    Cells(a, 3) = TxtBox1.Text

End

car quand tu fais référence à une cellule sous la forme
cells(x,y)
x est la rangée
y est la colonne
alors que  quand tu fais
range("A1")
c'est l'inverse
A est la colonne
et le 1 est le numéro de la ligne
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009
24 mars 2009 à 17:01
En fait c'est bien txtbox1 que j'ai sélectionné et le nom est correct mais j'ai insérer un calendrier à l'intérieur (avec maxdate et mindate).
c'est un txtbox1 DTPicker.... est-ce pour cela qu'il ne peut pas afficher la date dans la cellule?
0
sebcbien67 Messages postés 22 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 30 mars 2009
24 mars 2009 à 17:04
Super ça fonctionne! fallait juste supprimé le .text de TxtBox1.Text
Merci et chapeau pour ton coup de pouce pile poil :)
0
Rejoignez-nous