Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

case à cocher et vba... aïe !

2 réponses
Avatar
xavpazzi
Bonjour =E0 tous et merci pour la r=E9ponse pr=E9c=E9dente...
je suis n=E9anmoins toujours bloqu=E9 (certes plus loin!) :
qui pourrait m'aider =E0 trouver les instructions vba pour=20
imprimer une ou plusieurs feuilles correspondant =E0 des=20
cases =E0 cocher comme suit :
par exemple je coche 2 cases sur 10 et souhaite voir les=20
feuilles correspondantes s'imprimer. =E7a marche sur la=20
1=E8re mais =E7a plante ensuite, comment enchainer les=20
v=E9rifications des cases =E0 cocher successives ???

if [cac1]=3Dtrue then...
end if
if [cac2]=3Dtrue then...
end if
etc... ne marche pas ! que dois je mettre apr=E8s le 1er=20
end if ??? merci d'avance et d=E9sol=E9 pour la longueur !

Xav

2 réponses

Avatar
ru-th
Salut

une possibilité
For i = 1 To 10
If ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = True Then
Sheets(i+1).PrintOut
Next
la coche du checkbox2 déclenchera l'impression de la feuille 3 et ainsi de
suite
--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"xavpazzi" a écrit dans le message de
news:676901c4012f$c2644b60$
Bonjour à tous et merci pour la réponse précédente...
je suis néanmoins toujours bloqué (certes plus loin!) :
qui pourrait m'aider à trouver les instructions vba pour
imprimer une ou plusieurs feuilles correspondant à des
cases à cocher comme suit :
par exemple je coche 2 cases sur 10 et souhaite voir les
feuilles correspondantes s'imprimer. ça marche sur la
1ère mais ça plante ensuite, comment enchainer les
vérifications des cases à cocher successives ???

if [cac1]=true then...
end if
if [cac2]=true then...
end if
etc... ne marche pas ! que dois je mettre après le 1er
end if ??? merci d'avance et désolé pour la longueur !

Xav
Avatar
michdenis
Bonjour xavpazzi,

Pour le plaisir .....!

Si tes boutons case à cocher sont situées dans une feuille.

Que ces cases à cocher proviennent de la barre d'outils "Formulaire" ou "contrôle", tu peux définir à chacun, une
cellule liée.

Si c'est un controle de la barre d'outils formulaire :
Un clic droit dessus le contrôle
menu contextuel -> format du contrôle-> onglet Contrôle
Cellule liée

Si c'est un contrôle de la barre d'outils Contrôle :
Utilise le bouton "Propriétés" de cette barre pour faire afficher la fenêtre des Propriétés
Tu indiques l'adresse de cellule liée

Si tu fait cela pour chacune de tes cases à cocher, tu vas te retrouver avec une colonne(A1:A5) de Vrai ou faux, chacun
correspondant à une case à cocher.

Dans la colonne à côté, tu inscris B1:B5, tu inscris la formule suivante :
= B1 *1 que tu recopies sur l'ensemble de ta colonne B1:B5

Et dans le module feuille où l'action se déroule, la procédure suivante :

Dans la procédure suivante, il ne te reste qu'à déterminer la feuille à imprimer selon la case qui a été coché.
'-------------------------------------------
Private Sub Worksheet_Calculate()

If Application.Sum(Range("B1:B5")) > 0 Then
For Each c In Range("B1:B5")
If c.Value = 1 Then
Select Case c.Address(0, 0)
Case Is = "B1"
Worksheets("Feuil1").PrintOut
Case Is = "B2"
Worksheets("Feuil2").PrintOut
Case Is = "B3"
Worksheets("Feuil2").PrintOut
'...etc
End Select
End If
Next
End If

End Sub
'-------------------------------------------


Salutations!



"xavpazzi" a écrit dans le message de
news:676901c4012f$c2644b60$
Bonjour à tous et merci pour la réponse précédente...
je suis néanmoins toujours bloqué (certes plus loin!) :
qui pourrait m'aider à trouver les instructions vba pour
imprimer une ou plusieurs feuilles correspondant à des
cases à cocher comme suit :
par exemple je coche 2 cases sur 10 et souhaite voir les
feuilles correspondantes s'imprimer. ça marche sur la
1ère mais ça plante ensuite, comment enchainer les
vérifications des cases à cocher successives ???

if [cac1]=true then...
end if
if [cac2]=true then...
end if
etc... ne marche pas ! que dois je mettre après le 1er
end if ??? merci d'avance et désolé pour la longueur !

Xav