Macro Impression

Bonjour,

Voilà, j'ai le souci suivant :

Je cherche à créer une macro pour que, dans l'onglet PrintCenter (voir l'exemple en fichier joint), lorsque je clique sur B5 "Horaires individuels" (à noter qu'il faut encore que je trouve comment transformer cette case en bouton... question subsidiaire), alors j'aimerais que la macro exécute la tâche d'imprimer les horaires individuels de l'autre onglet, avec la logique suivante : en H30, saisir "1", puis imprimer. Puis, saisir "2", puis imprimer. etc...

A chaque fois que je tente d'enregistrer la macro avec tous les tutoriels que j'ai pu trouver, cela ne fonctionne pas comment je le souhaiterais. Quelqu'un peut-il m'aider ?

D'avance grand merci!

benupton

Bonjour benupton721

C'est simple

2022 12 09 11h32 34

Vous effectuez les actions, et vous avez un début de code qu'il faudra ensuite optimiser

A+

Merci pour la réponse, mais cela ne fonctionne toujours pas.

J'enregistre ma macro, mais ça fonctionne pas.

Quand je vais voir le code, il tient compte des étapes de sélection, mais pas d'impression... voici ce que j'ai comme code :

Sub print_HI()
'
' print_HI Macro
'

'
Sheets("horaire_individuel").Select
Range("H30:H31").Select
ActiveCell.FormulaR1C1 = "1"
Range("H30:H31").Select
ActiveCell.FormulaR1C1 = "2"
Range("H30:H31").Select
ActiveCell.FormulaR1C1 = "3"
Range("H32").Select
End Sub

Donc, j'en déduis que je dois rajouter quelque chose pour qu'il comprenne que, une fois que j'ai sélectionné "1" dans ma cellule, alors il doit m'imprimer la page, puis 2 imprimer, puis 3 imprimer, etc...

Merci pour l'aide!

Bonjour,

De mon côté, lorsque je fais la manipulation, voici ce que j'obtiens

Sub Imprimer()
'
' Imprimer Macro
'

'
    Range("H30:H31").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("H32").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Range("H30:H31").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("H32").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Etrange non... Bref, il faut aussi connaitre l'utilisation des objets conteneurs, des boucles, etc..
Des cours ici https://www.excel-pratique.com/fr/vba

Et voici le code une fois modifié et optimisé

Sub Imprimer()
  Dim Ind As Integer
  With Sheets("horaire_individuel")
    For Ind = 1 To 3
      .Range("H30").Value = Ind
      .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Next Ind
  End With
End Sub

A+

Rechercher des sujets similaires à "macro impression"