Transférer les données Combobox vers cellules EXCEL
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 mars 2009
-
24 mars 2009 à 13:09
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 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
A voir également:
Transférer les données Combobox vers cellules EXCEL
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 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
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 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
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 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
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 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
sebcbien67
Messages postés22Date d'inscriptionmardi 24 juin 2008StatutMembreDernière intervention30 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?