OVH Cloud OVH Cloud

Impression d'onglets sélectionnés

8 réponses
Avatar
J-F
Bonjour, j'ai une base excel avec plusieurs rapports (1=20
par onglet).

J'ai fait une feuille =ABMenu=BB dans laquelle j'ai plac=E9 des=20
bo=EEte =E0 cocher pour que les utilisateurs s=E9lectionne=20
seulement les rapports qu'ils d=E9sirent. Je veux ins=E9rer un=20
bouton =ABimprimer=BB qui imprimera les rapports s=E9lectionn=E9s.=20

Est-ce qu'il existe une macro ou une commande VBA pour=20
r=E9aliser cet exploit??..

J'aimerais que la solution soit bas=E9 sur le nom de=20
l'onglet et pas le num=E9ro de page car je vais ajouter des=20
nouveaux rapports dans les semaines =E0 venir.

J'ai trouv=E9 celle-ci sur excellabo.net mais je ne sais pas=20
comment l'organiser:
************************
Sub SelectionDePages()
Dim i&, Pages$, ArrPages
Pages =3D _
InputBox("Saisir les pages =E0 imprimer sur ce mod=E8le :"=20
& vbLf & _
"1;2;3;12;14;25;33", "Pages =E0 imprimer")
ArrPages =3D Split(Pages, ";")
For i =3D LBound(ArrPages) To UBound(ArrPages)
x=3DClng(ArrPages(i))
ActiveSheet.PrintOut From:=3Dx, to:=3Dx, Preview:=3DFalse
Next i
End Sub
****************************

Merci pour votre aide!

Windows 2000
Excel 2002=20

8 réponses

Avatar
AV
Avec des cases à cocher issues de la barre d'outils formulaire
Tes ChekBoxes ont pour "caption" le nom des onglets à imprimer

Sub zz_Imprim_ChBx()
For Each chbx In ActiveSheet.CheckBoxes
If chbx.Value = xlOn Then tablo = tablo & chbx.Caption & """" & "," & """"
compt = compt + 1
Next
If tablo = "" Then Exit Sub
y = "{" & """" & Left(tablo, Len(tablo) - 2) & "}"
MsgBox y
For i = 1 To compt
On Error Resume Next
'pour tester : aperçu avant impression
Sheets(Evaluate("Index(" & y & "," & i & ")")).PrintPreview
Next
End Sub

AV

"J-F" a écrit dans le message news:
0b8b01c39fcb$7397ede0$
Bonjour, j'ai une base excel avec plusieurs rapports (1
par onglet).

J'ai fait une feuille «Menu» dans laquelle j'ai placé des
boîte à cocher pour que les utilisateurs sélectionne
seulement les rapports qu'ils désirent. Je veux insérer un
bouton «imprimer» qui imprimera les rapports sélectionnés.

Est-ce qu'il existe une macro ou une commande VBA pour
réaliser cet exploit??..

J'aimerais que la solution soit basé sur le nom de
l'onglet et pas le numéro de page car je vais ajouter des
nouveaux rapports dans les semaines à venir.

J'ai trouvé celle-ci sur excellabo.net mais je ne sais pas
comment l'organiser:
************************
Sub SelectionDePages()
Dim i&, Pages$, ArrPages
Pages = _
InputBox("Saisir les pages à imprimer sur ce modèle :"
& vbLf & _
"1;2;3;12;14;25;33", "Pages à imprimer")
ArrPages = Split(Pages, ";")
For i = LBound(ArrPages) To UBound(ArrPages)
x=Clng(ArrPages(i))
ActiveSheet.PrintOut From:=x, to:=x, Preview:úlse
Next i
End Sub
****************************

Merci pour votre aide!

Windows 2000
Excel 2002
Avatar
J-F
Je ne comprends pas vraiment la formule. C'est quoi qui
correspond à mes noms de Checkboxe et c'est quoi qui
correcpond à mes noms d'onglet???

Sub zz_Imprim_ChBx()
For Each chbx In ActiveSheet.CheckBoxes
If chbx.Value = xlOn Then tablo = tablo &
chbx.Caption & """" & "," & """"
compt = compt + 1
Next
If tablo = "" Then Exit Sub
y = "{" & """" & Left(tablo, Len(tablo) - 2) & "}"
MsgBox y
For i = 1 To compt
On Error Resume Next
'pour tester : aperçu avant impression
Sheets(Evaluate("Index(" & y & "," & i
& ")")).PrintPreview
Next
End Sub



-----Message d'origine-----
Avec des cases à cocher issues de la barre d'outils
formulaire

Tes ChekBoxes ont pour "caption" le nom des onglets à
imprimer


Sub zz_Imprim_ChBx()
For Each chbx In ActiveSheet.CheckBoxes
If chbx.Value = xlOn Then tablo = tablo &
chbx.Caption & """" & "," & """"

compt = compt + 1
Next
If tablo = "" Then Exit Sub
y = "{" & """" & Left(tablo, Len(tablo) - 2) & "}"
MsgBox y
For i = 1 To compt
On Error Resume Next
'pour tester : aperçu avant impression
Sheets(Evaluate("Index(" & y & "," & i
& ")")).PrintPreview

Next
End Sub

AV

"J-F" a écrit dans
le message news:

0b8b01c39fcb$7397ede0$
Bonjour, j'ai une base excel avec plusieurs rapports (1
par onglet).

J'ai fait une feuille «Menu» dans laquelle j'ai placé des
boîte à cocher pour que les utilisateurs sélectionne
seulement les rapports qu'ils désirent. Je veux insérer un
bouton «imprimer» qui imprimera les rapports sélectionnés.

Est-ce qu'il existe une macro ou une commande VBA pour
réaliser cet exploit??..

J'aimerais que la solution soit basé sur le nom de
l'onglet et pas le numéro de page car je vais ajouter des
nouveaux rapports dans les semaines à venir.

J'ai trouvé celle-ci sur excellabo.net mais je ne sais pas
comment l'organiser:
************************
Sub SelectionDePages()
Dim i&, Pages$, ArrPages
Pages = _
InputBox("Saisir les pages à imprimer sur ce modèle :"
& vbLf & _
"1;2;3;12;14;25;33", "Pages à imprimer")
ArrPages = Split(Pages, ";")
For i = LBound(ArrPages) To UBound(ArrPages)
x=Clng(ArrPages(i))
ActiveSheet.PrintOut From:=x, to:=x, Preview:úlse
Next i
End Sub
****************************

Merci pour votre aide!

Windows 2000
Excel 2002



.



Avatar
AV
Le nom des Checkboxes (ce qui apparait dans la barre des noms lorsque tu les
sélectionnes avec un clic droit) n'a pas d'importance !
Le "texte" de chacun des Checkboxes reprend strictement le nom de chacun des
onglets

PS : supprimer la ligne Msgbox...... qui a simplement servi pour les tests
PSbis : exemple sur demande dans ta bal
PSter : s'il s'agit de Checkboxes issues de la boite Controle, fais signe

AV
Avatar
JF
Bonjour et merci pour votre aide.

Bien que je ne suis pas un expert de VBA, habituellement
je me débrouille assez bien mais cette fois je n'y
comprend rien. J'ai l'impression de ne pas savoir sur quel
bouton appliquer la commande. Est-ce sur un bouton
IMPRIMER que je crée moi même (ce que je pense) ou si je
dois appliquer la commande à tous les checkboxes.

Vous seriez très gentil de me fournir un exemple si cela
est possible??

Merci encore pour votre collaboration!


-----Message d'origine-----
Le nom des Checkboxes (ce qui apparait dans la barre des
noms lorsque tu les

sélectionnes avec un clic droit) n'a pas d'importance !
Le "texte" de chacun des Checkboxes reprend strictement
le nom de chacun des

onglets

PS : supprimer la ligne Msgbox...... qui a simplement
servi pour les tests

PSbis : exemple sur demande dans ta bal
PSter : s'il s'agit de Checkboxes issues de la boite
Controle, fais signe


AV


.



Avatar
AV
Vous seriez très gentil de me fournir un exemple si cela
est possible??


Ok

AV

Avatar
J-F
Merci beaucoup pour le fichier!!! tout fonctionne
maintenant.
J'ai seulement une dernière question:
Est-ce possible de changer la couleur du TEXTE de la boîte
à cocher car je ne veux pas qu'il soit apparant. Quand je
sélectionne le texte je n'ai plus accès au choix de
couleurs. J'ai cherché sur le net sans trouvé de réponse.

Merci encore!!!



-----Message d'origine-----
Vous seriez très gentil de me fournir un exemple si cela
est possible??


Ok

AV


.




Avatar
AV
Est-ce possible de changer la couleur du TEXTE de la boîte
à cocher car je ne veux pas qu'il soit apparant. Quand je
sélectionne le texte je n'ai plus accès au choix de
couleurs.


Impossible avec les cases à cocher issues de la barre d'outils Formulaire !
Une solution (infâme bricole) : masquer le texte avec un rectangle blanc et sans
bordure !

Autre solution : utiliser les cases à cocher issues de la Boîte à Outils
Contrôles
Exemple dans ta bal

AV

Avatar
JF
Un peu en retard mais merci beaucoup pour ton aide AV!

JF


-----Message d'origine-----
Est-ce possible de changer la couleur du TEXTE de la
boîte


à cocher car je ne veux pas qu'il soit apparant. Quand je
sélectionne le texte je n'ai plus accès au choix de
couleurs.


Impossible avec les cases à cocher issues de la barre
d'outils Formulaire !

Une solution (infâme bricole) : masquer le texte avec un
rectangle blanc et sans

bordure !

Autre solution : utiliser les cases à cocher issues de la
Boîte à Outils

Contrôles
Exemple dans ta bal

AV


.