Bonsoir
J'ai un tableau classique avec 5 colonnes
j'ai une colonnes "Thèmes" B3:B100
dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc.
Une fois que la feuille est triée, je souhaite créer un userfrom sur lequel,
il y a des checkbox, Alpha, Beta, Charly etc
Si je coche Alpha, et que je valide, cela imprime uniquement les lignes
ayant pour thème "Alpha"
Je vous remercie
Didier
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
Hervé
Bonsoir Didier, Afin de simplifier la création de tous les CheckBox, tu peux les créer dynamiquement : A mettre dans un module de classe que tu renomme "ClsChkClic" '------- Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click() 'd'ici tu peux appeler la proc qui va gérer ton impression Impression GroupeChk.Caption
End Sub '------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) : '------ Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range Dim I As Integer Dim J As Integer Dim Haut As Long Dim Increment As Integer Dim Ctrl As Control Haut = 10 Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True) .Left = 10 .Top = Haut .Width = 60 .Height = 15 .Caption = Plage(I) End With Haut = Haut + 16 Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls I = I + 1 ReDim Preserve Chk(1 To I) Set Chk(I).GroupeChk = Ctrl Next Ctrl
Frame1.ScrollHeight = Haut + 10 Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub '----- A mettre dans un module standard : '----- Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub '----- Le titre de la case à cocher est passé en argument à la proc Impression, il ne te reste plus qu'à l'écrire en fonction du résultat que tu désire. Pour le test, le nom de la case à cocher est affiché dans un boite de message.
Salutations. Hervé
"Didier Novarin" a écrit dans le message de news:
Bonsoir J'ai un tableau classique avec 5 colonnes j'ai une colonnes "Thèmes" B3:B100 dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc. Une fois que la feuille est triée, je souhaite créer un userfrom sur lequel, il y a des checkbox, Alpha, Beta, Charly etc Si je coche Alpha, et que je valide, cela imprime uniquement les lignes ayant pour thème "Alpha" Je vous remercie Didier
Bonsoir Didier,
Afin de simplifier la création de tous les CheckBox, tu peux les créer
dynamiquement :
A mettre dans un module de classe que tu renomme "ClsChkClic"
'-------
Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click()
'd'ici tu peux appeler la proc qui va gérer ton impression
Impression GroupeChk.Caption
End Sub
'------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame
auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) :
'------
Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim I As Integer
Dim J As Integer
Dim Haut As Long
Dim Increment As Integer
Dim Ctrl As Control
Haut = 10
Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count
With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True)
.Left = 10
.Top = Haut
.Width = 60
.Height = 15
.Caption = Plage(I)
End With
Haut = Haut + 16
Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls
I = I + 1
ReDim Preserve Chk(1 To I)
Set Chk(I).GroupeChk = Ctrl
Next Ctrl
Frame1.ScrollHeight = Haut + 10
Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub
'-----
A mettre dans un module standard :
'-----
Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub
'-----
Le titre de la case à cocher est passé en argument à la proc Impression, il
ne te reste plus qu'à l'écrire en fonction du résultat que tu désire. Pour
le test, le nom de la case à cocher est affiché dans un boite de message.
Salutations.
Hervé
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: OxXxBZL3FHA.3600@TK2MSFTNGP12.phx.gbl...
Bonsoir
J'ai un tableau classique avec 5 colonnes
j'ai une colonnes "Thèmes" B3:B100
dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc.
Une fois que la feuille est triée, je souhaite créer un userfrom sur
lequel, il y a des checkbox, Alpha, Beta, Charly etc
Si je coche Alpha, et que je valide, cela imprime uniquement les lignes
ayant pour thème "Alpha"
Je vous remercie
Didier
Bonsoir Didier, Afin de simplifier la création de tous les CheckBox, tu peux les créer dynamiquement : A mettre dans un module de classe que tu renomme "ClsChkClic" '------- Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click() 'd'ici tu peux appeler la proc qui va gérer ton impression Impression GroupeChk.Caption
End Sub '------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) : '------ Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range Dim I As Integer Dim J As Integer Dim Haut As Long Dim Increment As Integer Dim Ctrl As Control Haut = 10 Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True) .Left = 10 .Top = Haut .Width = 60 .Height = 15 .Caption = Plage(I) End With Haut = Haut + 16 Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls I = I + 1 ReDim Preserve Chk(1 To I) Set Chk(I).GroupeChk = Ctrl Next Ctrl
Frame1.ScrollHeight = Haut + 10 Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub '----- A mettre dans un module standard : '----- Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub '----- Le titre de la case à cocher est passé en argument à la proc Impression, il ne te reste plus qu'à l'écrire en fonction du résultat que tu désire. Pour le test, le nom de la case à cocher est affiché dans un boite de message.
Salutations. Hervé
"Didier Novarin" a écrit dans le message de news:
Bonsoir J'ai un tableau classique avec 5 colonnes j'ai une colonnes "Thèmes" B3:B100 dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc. Une fois que la feuille est triée, je souhaite créer un userfrom sur lequel, il y a des checkbox, Alpha, Beta, Charly etc Si je coche Alpha, et que je valide, cela imprime uniquement les lignes ayant pour thème "Alpha" Je vous remercie Didier
Didier Novarin
Merci beaucoup Hervé, c'est exactement cela ! Bravo Bonne soirée Didier
"Hervé" a écrit dans le message de news: ucT%23I$
Bonsoir Didier, Afin de simplifier la création de tous les CheckBox, tu peux les créer dynamiquement : A mettre dans un module de classe que tu renomme "ClsChkClic" '------- Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click() 'd'ici tu peux appeler la proc qui va gérer ton impression Impression GroupeChk.Caption
End Sub '------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) : '------ Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range Dim I As Integer Dim J As Integer Dim Haut As Long Dim Increment As Integer Dim Ctrl As Control Haut = 10 Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True) .Left = 10 .Top = Haut .Width = 60 .Height = 15 .Caption = Plage(I) End With Haut = Haut + 16 Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls I = I + 1 ReDim Preserve Chk(1 To I) Set Chk(I).GroupeChk = Ctrl Next Ctrl
Frame1.ScrollHeight = Haut + 10 Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub '----- A mettre dans un module standard : '----- Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub '----- Le titre de la case à cocher est passé en argument à la proc Impression, il ne te reste plus qu'à l'écrire en fonction du résultat que tu désire. Pour le test, le nom de la case à cocher est affiché dans un boite de message.
Salutations. Hervé
"Didier Novarin" a écrit dans le message de news:
Bonsoir J'ai un tableau classique avec 5 colonnes j'ai une colonnes "Thèmes" B3:B100 dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc. Une fois que la feuille est triée, je souhaite créer un userfrom sur lequel, il y a des checkbox, Alpha, Beta, Charly etc Si je coche Alpha, et que je valide, cela imprime uniquement les lignes ayant pour thème "Alpha" Je vous remercie Didier
Merci beaucoup Hervé, c'est exactement cela !
Bravo
Bonne soirée
Didier
"Hervé" <hmsilvePasDePub@wanadoo.fr> a écrit dans le message de news:
ucT%23I$L3FHA.2196@tk2msftngp13.phx.gbl...
Bonsoir Didier,
Afin de simplifier la création de tous les CheckBox, tu peux les créer
dynamiquement :
A mettre dans un module de classe que tu renomme "ClsChkClic"
'-------
Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click()
'd'ici tu peux appeler la proc qui va gérer ton impression
Impression GroupeChk.Caption
End Sub
'------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame
auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) :
'------
Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range
Dim I As Integer
Dim J As Integer
Dim Haut As Long
Dim Increment As Integer
Dim Ctrl As Control
Haut = 10
Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count
With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True)
.Left = 10
.Top = Haut
.Width = 60
.Height = 15
.Caption = Plage(I)
End With
Haut = Haut + 16
Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls
I = I + 1
ReDim Preserve Chk(1 To I)
Set Chk(I).GroupeChk = Ctrl
Next Ctrl
Frame1.ScrollHeight = Haut + 10
Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub
'-----
A mettre dans un module standard :
'-----
Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub
'-----
Le titre de la case à cocher est passé en argument à la proc Impression,
il ne te reste plus qu'à l'écrire en fonction du résultat que tu désire.
Pour le test, le nom de la case à cocher est affiché dans un boite de
message.
Salutations.
Hervé
"Didier Novarin" <didier.n@club-internet.fr> a écrit dans le message de
news: OxXxBZL3FHA.3600@TK2MSFTNGP12.phx.gbl...
Bonsoir
J'ai un tableau classique avec 5 colonnes
j'ai une colonnes "Thèmes" B3:B100
dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc.
Une fois que la feuille est triée, je souhaite créer un userfrom sur
lequel, il y a des checkbox, Alpha, Beta, Charly etc
Si je coche Alpha, et que je valide, cela imprime uniquement les lignes
ayant pour thème "Alpha"
Je vous remercie
Didier
Merci beaucoup Hervé, c'est exactement cela ! Bravo Bonne soirée Didier
"Hervé" a écrit dans le message de news: ucT%23I$
Bonsoir Didier, Afin de simplifier la création de tous les CheckBox, tu peux les créer dynamiquement : A mettre dans un module de classe que tu renomme "ClsChkClic" '------- Public WithEvents GroupeChk As MSForms.CheckBox
Private Sub GroupeChk_Click() 'd'ici tu peux appeler la proc qui va gérer ton impression Impression GroupeChk.Caption
End Sub '------
A mettre dans le module de ta Form où tu aura au préalable posé un Frame auquel tu aura mis la propriété "ScrollBars" à 2 (fmScrollBarsVertical) : '------ Dim Chk() As New ClsChkClic
Private Sub UserForm_Initialize()
Dim Plage As Range Dim I As Integer Dim J As Integer Dim Haut As Long Dim Increment As Integer Dim Ctrl As Control Haut = 10 Increment = 1
Set Plage = Worksheets("Feuil1").[B3:B100]
For I = 1 To Plage.Count With Frame1.Controls.Add("Forms.CheckBox.1", "Chk" & Increment, True) .Left = 10 .Top = Haut .Width = 60 .Height = 15 .Caption = Plage(I) End With Haut = Haut + 16 Increment = Increment + 1
Next I
I = 0
For Each Ctrl In Me.Frame1.Controls I = I + 1 ReDim Preserve Chk(1 To I) Set Chk(I).GroupeChk = Ctrl Next Ctrl
Frame1.ScrollHeight = Haut + 10 Frame1.ScrollTop = 2
Set Ctrl = Nothing
End Sub '----- A mettre dans un module standard : '----- Sub Impression(Nom_Chk As String)
MsgBox Nom_Chk
End Sub '----- Le titre de la case à cocher est passé en argument à la proc Impression, il ne te reste plus qu'à l'écrire en fonction du résultat que tu désire. Pour le test, le nom de la case à cocher est affiché dans un boite de message.
Salutations. Hervé
"Didier Novarin" a écrit dans le message de news:
Bonsoir J'ai un tableau classique avec 5 colonnes j'ai une colonnes "Thèmes" B3:B100 dans laquelle j'ai plusieurs thèmes ex Alpha, Beta, Charly etc. Une fois que la feuille est triée, je souhaite créer un userfrom sur lequel, il y a des checkbox, Alpha, Beta, Charly etc Si je coche Alpha, et que je valide, cela imprime uniquement les lignes ayant pour thème "Alpha" Je vous remercie Didier