check box pour lancer une macro

wrap food

XLDnaute Occasionnel
Bonjour,

Je souhaiterais savoir si il est possible de lancer des macros d'impression( qui existe deja) en me servant de CHECK BOX qui sont dans un userform.
je voudrais cocher certains check box et valider et que cela lance les impressions.

si vous avez la solution merci de votre aide
 

wrap food

XLDnaute Occasionnel
Re : check box pour lancer une macro

si je mets sa

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then

Sheets("C DRESSE ENTREES (A3)").Visible = True
Sheets(" DRESSE(A3)").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
ActiveWindow.SelectedSheets.Visible = False
Sheets("SAISIE HEBDO").Select
Range("C14").Select
End If
End Sub


cela fonctionnera t-il ??
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,

tout cela me semble bien compliqué,
pour imprimer la feuille nommée "DRESSE(A3), ce code suffit
Code:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Sheets(" DRESSE(A3)").Select
ActiveSheet.PrintOut  Copies:=1, Collate:=True
 End If
End Sub
si après tu veux cacher des feuilles et/ou en sélectionner une autre, complète le code à la suite de: ActiveSheet.PrintOut

à+
Philippe
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,

sans voir le fichier il sera difficile d'adapter la réponse

combien de TextBox ??????????
combien de feuilles ????????????
le nom des différentes feuilles ???????????

Pourrais-tu joindre le fichier avec ta prochaine réponse ?

à+
Philippe
 

wrap food

XLDnaute Occasionnel
Re : check box pour lancer une macro

je suis désolé le fichier est vraiment trop lourd cela ne passe pas

J'ai essayé le code suivant ;
If CheckBox1.Value = True Then
Sheets("ENVIE DE - FORMULES").Visible = True
Sheets("ENVIE DE - FORMULES").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("ENVIE DE - FORMULES").Visible = False
Sheets("ENVIE DE J3").Visible = True
Sheets("ENVIE DE J3").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
ActiveWindow.SelectedSheets.Visible = False
Sheets("SAISIE HEBDO").Select
Range("F4").Select
If CheckBox2.Value = True Then
Sheets("C DRESSE ENTREES (A3)").Visible = True
Sheets("C DRESSE ENTREES (A3)").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("C DRESSE ENTREES (A3)").Visible = False
If CheckBox3.Value = True Then
Sheets("C DRESSE ENTREES").Visible = True
Sheets("C DRESSE ENTREES").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("C DRESSE ENTREES").Visible = False
If CheckBox4 = True Then
Sheets("C LIBRE SALADE BAR").Visible = True
Sheets("C LIBRE SALADE BAR").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("C LIBRE SALADE BAR").Visible = False
If CheckBox5 = True Then
Sheets("C LIBRE SALADE BAR A3").Visible = True
Sheets("C LIBRE SALADE BAR A3").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("C LIBRE SALADE BAR A3").Visible = False
Sheets("SAISIE HEBDO").Select
Range("D3").Select
End If
End If
End If
End If
End If
End Sub

cela fonctionne mais seulement si tous les CheckBox sont cochés si non cela n'imprime que le CheckBox1
hors je voudrais impremer que sur les CheckBox qui sont cochés
faut-il utiliser une autre fomr de code

auriez vous la solution
SVP
par avance merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,
je suis désolé le fichier est vraiment trop lourd cela ne passe pas
un fichier joint avec seulement les feuilles vides et l'userform aurait suffit et m'aurait évité de tout construire


voici la solution en pièce jointe

à+
Philippe
 

Pièces jointes

  • 111.xls
    117.5 KB · Affichages: 68
  • 111.xls
    117.5 KB · Affichages: 74
  • 111.xls
    117.5 KB · Affichages: 68

wrap food

XLDnaute Occasionnel
Re : check box pour lancer une macro

merci beaucoup, c'est super....

je suis désolé mais j'ai encore une petite question
vraimenent désolé.
est il possible d'imprimer juste une partie des feuilles
en modifiant le code ( PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True)
j'ai modifié le fichier pour que vous puissiez comprendre ma demande

encore un grand merci
 

Pièces jointes

  • 111.xls
    77 KB · Affichages: 55
  • 111.xls
    77 KB · Affichages: 68
  • 111.xls
    77 KB · Affichages: 58

sadness78

XLDnaute Junior
Re : check box pour lancer une macro

Bonjour wrap food, phlaurent55, le forum

Je rebondis sur ce sujet étant donné que j'ai posté quasiment le même problème j'aimerais comprendre cette partie du code :

Code:
For i = 1 To 6
If UserForm1.Controls("checkbox" & i).Value = True

- le i correspond au nombre de checkbox que nous avons dans le userform ?
- pour appeler une checkbox cette forme est toujours à utilisé pour vérifier des conditions de checkbox ?

Code:
UserForm1.Controls("checkbox" & i).Value
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,

le fichier joint n'apporte rien à la compréhension du problème

Quelle zone faut-il imprimer ????????????????

Une solution, définir la zone d'impression pour chaque feuille et pour cela il n'y a pas besoin de modifier le code
voir fichier joint

à+
Philippe
 

Pièces jointes

  • 111.xls
    120.5 KB · Affichages: 62
  • 111.xls
    120.5 KB · Affichages: 94
  • 111.xls
    120.5 KB · Affichages: 73

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,
@ sadness,
Bonjour wrap food, phlaurent55, le forum

Je rebondis sur ce sujet étant donné que j'ai posté quasiment le même problème j'aimerais comprendre cette partie du code :

Code:
For i = 1 To 6
If UserForm1.Controls("checkbox" & i).Value = True

- le i correspond au nombre de checkbox que nous avons dans le userform ?
- pour appeler une checkbox cette forme est toujours à utilisé besoin de vérifier plusieurs conditions de checkbox ?

Code:
UserForm1.Controls("checkbox" & i).Value

- le i correspond au nombre de checkbox que nous avons dans le userform ? Oui

- pour appeler une checkbox cette forme est toujours à utilisé besoin de vérifier plusieurs conditions de checkbox ?
serait-il possible de reformuler cette question de manière un peu plus compréhensible :confused::confused::confused:

Bien que la question soit quasiment la même il vaudrait mieux ouvrir un nouveau fil de discussion dans le but d'éviter de transformer celui-ci en jeu de pistes

à+
Philippe
 

wrap food

XLDnaute Occasionnel
Re : check box pour lancer une macro

Désolé, je n'ai pas été tres explicite.

je voudrais imprimer la deusieme parties de chaques feuilles ( c'st pour cela que j'ai mis une zone d'impression definie)

le but ultime étant de créer plusieurs userfrome qui me permettront (sur la même base que le premier )d'imprimer les différentes parties de chaques feuilles.

encore désolé
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : check box pour lancer une macro

Re,
Désolé, je n'ai pas été tres explicite.
Je commence à m'y habituer ;););)


en paramétrant le "Range" tu y arriveras facilement
Code:
If UserForm1.Controls("checkbox" & i).Value = True Then
Sheets(i + 1).Range("A1:A6").PrintOut
End If

à+
Philippe

Edit: Je serai absent du forum jusqu'à +/- demain 13h
 

wrap food

XLDnaute Occasionnel
Re : check box pour lancer une macro

je sais c'est encore mois ....

n'est il pas possible d'utiliser plutot la forme "PrintOut From:=1, To:=1, Copies:=1, Collate :=True

dans mon cas, cela serai plus simple cas selon les onglets les zones d'impressions sont différentes

merci


Et encore désolé ;)
 

Discussions similaires

Réponses
26
Affichages
401

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87