Sur un Userform j'ai plusieurs checkbox (21 en fait) et =E0 c=F4t=E9 de
chacun il y a un combobox.
=C0 la gauche des checkbox il y a le nom d'un produit dans un "label".
Si l'usager choisit le produit en cliquant sur checkbox, il doit
choisir le pourcentage dans le combobox correspondant.
Jusque-l=E0, =E7a va. Cependant lorsque je veux inscrire les produits
choisis sur une feuille Excel, j'ai un probl=E8me. Comment dire =E0 Excel
de n'=E9crire que le nom des produits dont le checkbox =3D vrai en
partant de C5 et ainsi de suite..... En D5 on inscrirait le pourcentage
choisi par le combobox....
En fait, si le produit A est choisi, il ira en C5... Si c'est le
produit F qui est choisi le premier (donc A,B,C,D & E ont =E9t=E9s
ignor=E9s) alors c'est lui qui ira en C5....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub '-------------------------
"Denys" a écrit dans le message de news:
Bonjour à tous,
Sur un Userform j'ai plusieurs checkbox (21 en fait) et à côté de chacun il y a un combobox.
À la gauche des checkbox il y a le nom d'un produit dans un "label". Si l'usager choisit le produit en cliquant sur checkbox, il doit choisir le pourcentage dans le combobox correspondant.
Jusque-là, ça va. Cependant lorsque je veux inscrire les produits choisis sur une feuille Excel, j'ai un problème. Comment dire à Excel de n'écrire que le nom des produits dont le checkbox = vrai en partant de C5 et ainsi de suite..... En D5 on inscrirait le pourcentage choisi par le combobox....
En fait, si le produit A est choisi, il ira en C5... Si c'est le produit F qui est choisi le premier (donc A,B,C,D & E ont étés ignorés) alors c'est lui qui ira en C5....
Auriez-vous une idée ?
Merci
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox
ont des index de 1 à 21 et qu'à chaque index de chaque chekbox
correspond un index de la colllection "Combobox"
Essaie ceci :
'-------------------------
Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer
With Worksheets("Feuil1") 'Nom à adapter
Lig = .Range("C5:X65536").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox
Select Case Me.Controls("CheckBox" & A).Value
Case Is = True
.Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value
End Select
Next
End With
End Sub
'-------------------------
"Denys" <denys.perreault@rbc.com> a écrit dans le message de news:
1162836157.947219.56480@b28g2000cwb.googlegroups.com...
Bonjour à tous,
Sur un Userform j'ai plusieurs checkbox (21 en fait) et à côté de
chacun il y a un combobox.
À la gauche des checkbox il y a le nom d'un produit dans un "label".
Si l'usager choisit le produit en cliquant sur checkbox, il doit
choisir le pourcentage dans le combobox correspondant.
Jusque-là, ça va. Cependant lorsque je veux inscrire les produits
choisis sur une feuille Excel, j'ai un problème. Comment dire à Excel
de n'écrire que le nom des produits dont le checkbox = vrai en
partant de C5 et ainsi de suite..... En D5 on inscrirait le pourcentage
choisi par le combobox....
En fait, si le produit A est choisi, il ira en C5... Si c'est le
produit F qui est choisi le premier (donc A,B,C,D & E ont étés
ignorés) alors c'est lui qui ira en C5....
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub '-------------------------
"Denys" a écrit dans le message de news:
Bonjour à tous,
Sur un Userform j'ai plusieurs checkbox (21 en fait) et à côté de chacun il y a un combobox.
À la gauche des checkbox il y a le nom d'un produit dans un "label". Si l'usager choisit le produit en cliquant sur checkbox, il doit choisir le pourcentage dans le combobox correspondant.
Jusque-là, ça va. Cependant lorsque je veux inscrire les produits choisis sur une feuille Excel, j'ai un problème. Comment dire à Excel de n'écrire que le nom des produits dont le checkbox = vrai en partant de C5 et ainsi de suite..... En D5 on inscrirait le pourcentage choisi par le combobox....
En fait, si le produit A est choisi, il ira en C5... Si c'est le produit F qui est choisi le premier (donc A,B,C,D & E ont étés ignorés) alors c'est lui qui ira en C5....
Auriez-vous une idée ?
Merci
Denys
Denys
Bonjour Denis,
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1 ProduitB Checkbox2 Combobox2 ProduitC Checkbox3 Combobox3 ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc.... je souhaites plutôt que le premier produit choisi aille en C5 peu importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub '-------------------------
Bonjour Denis,
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1
ProduitB Checkbox2 Combobox2
ProduitC Checkbox3 Combobox3
ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu
choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc....
je souhaites plutôt que le premier produit choisi aille en C5 peu
importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce
que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox
ont des index de 1 à 21 et qu'à chaque index de chaque chekbox
correspond un index de la colllection "Combobox"
Essaie ceci :
'-------------------------
Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer
With Worksheets("Feuil1") 'Nom à adapter
Lig = .Range("C5:X65536").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox
Select Case Me.Controls("CheckBox" & A).Value
Case Is = True
.Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value
End Select
Next
End With
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1 ProduitB Checkbox2 Combobox2 ProduitC Checkbox3 Combobox3 ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc.... je souhaites plutôt que le premier produit choisi aille en C5 peu importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub '-------------------------
MichDenis
et ceci :
Si j'ai compris, tu auras besoin d'une petite modification... :(utilisation d'une variable x pour compter le déplacement d'une colonne à l'autre ....
'------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer, x As integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1 x=3 For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True x=x+1 .Cells(Lig, x) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub
"Denys" a écrit dans le message de news:
Bonjour Denis,
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1 ProduitB Checkbox2 Combobox2 ProduitC Checkbox3 Combobox3 ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc.... je souhaites plutôt que le premier produit choisi aille en C5 peu importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub '-------------------------
et ceci :
Si j'ai compris, tu auras besoin d'une petite modification...
:(utilisation d'une variable x pour compter le déplacement
d'une colonne à l'autre ....
'-------------------------
Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer, x As integer
With Worksheets("Feuil1") 'Nom à adapter
Lig = .Range("C5:X65536").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
x=3
For A = 1 To 21 ' Nombre de checkbox
Select Case Me.Controls("CheckBox" & A).Value
Case Is = True
x=x+1
.Cells(Lig, x) = Me.Controls("Combobox" & A).Value
End Select
Next
End With
End Sub
"Denys" <denys.perreault@rbc.com> a écrit dans le message de news:
1162843738.567401.82530@k70g2000cwa.googlegroups.com...
Bonjour Denis,
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1
ProduitB Checkbox2 Combobox2
ProduitC Checkbox3 Combobox3
ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu
choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc....
je souhaites plutôt que le premier produit choisi aille en C5 peu
importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce
que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox
ont des index de 1 à 21 et qu'à chaque index de chaque chekbox
correspond un index de la colllection "Combobox"
Essaie ceci :
'-------------------------
Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer
With Worksheets("Feuil1") 'Nom à adapter
Lig = .Range("C5:X65536").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox
Select Case Me.Controls("CheckBox" & A).Value
Case Is = True
.Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value
End Select
Next
End With
Si j'ai compris, tu auras besoin d'une petite modification... :(utilisation d'une variable x pour compter le déplacement d'une colonne à l'autre ....
'------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer, x As integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1 x=3 For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True x=x+1 .Cells(Lig, x) = Me.Controls("Combobox" & A).Value End Select Next End With
End Sub
"Denys" a écrit dans le message de news:
Bonjour Denis,
Ce que je veux dire c,est que sur le Userform ça va un peu comme suit:
Produit A Checkbox1 Combobox1 ProduitB Checkbox2 Combobox2 ProduitC Checkbox3 Combobox3 ProduitD Checkbox4 Combobox4
Si tu choisis le Produit A, alors tu cliques sur le checkbox1 et tu choisis le pourcentage dans le combobox1.
Tu choisis autant de produits que tu veux (jusqu'à 21) possibles.
Comme je ne voulais pas dire que le produit A va à C5, B à C6 etc.... je souhaites plutôt que le premier produit choisi aille en C5 peu importe que ce soit le produit A ou le produit K.
Bien sûr les produits sont en ordre... je vais donc y aller avec ce que tu me proposes... Si j'ai des problèmes, je reviens...
Merci et bonne journée
Denys
Je ne suis pas sûr d'avoir compris ta demande ....
Il est présumé que tes controls Combobox et Checkbox ont des index de 1 à 21 et qu'à chaque index de chaque chekbox correspond un index de la colllection "Combobox"
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim Lig As Long, A As Integer With Worksheets("Feuil1") 'Nom à adapter Lig = .Range("C5:X65536").Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row + 1
For A = 1 To 21 ' Nombre de checkbox Select Case Me.Controls("CheckBox" & A).Value Case Is = True .Cells(Lig, 2 + A) = Me.Controls("Combobox" & A).Value End Select Next End With