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
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 SubEtrange 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 SubA+
