Création de fiche d'astreinte automatique
Bonjour à tous !
Je me rapproche vers vous car je suis bloqué sur l'écrire d'une macro excel dont le but est d'imprimer automatiquement des fiches d'astreintes préalablement renseignées.
Etape 1 : La personne renseigne les noms, prénoms et heures dans une première feuille
Etape 2: Les données renseignées sont reprises sur les fiches d'astreintes : Noms, date, heures. Petit détail: Les feuilles contenant ces astreintes sont dissimulés pour plus de "propreté" sur le fichier excel
Etape 3: La personne lance une macro pour imprimer les fiches.
J'ai rédigé à partir de mes très maigres connaissances en VBA et ce que le net a pu m'apprendre et voilà ce que ça donne:
Private Sub Workbook_Open()
ActiveWorkbook.Worksheets("Feuil8", "Feuil10", "Feuil11", "Feuil12", "Feuil13", "Feuil14", "Feuil15", "Feuil16", "Feuil17", "Feuil8").Activate
End Sub
Sub Impressiondimanche()
'
' choix de l'impression réseau
'
' premier fenêtre de dialogue.
msg = "Choisir votre imprimante réseau ? Cliquer sur OUI "
'Définit les boutons.
Style = vbYesNo + vbDefaultButton1
' Définit les titres.
Title = "imprimer"
Réponse = MsgBox(msg, Style, Title)
' Vous avez choisi le bouton « Oui ».
If Réponse = vbYes Then
Application.Dialogs(xlDialogPrinterSetup).Show '<==== fenêtre de dialogue choix imprimante, si cliqué sur annuler, l'impression de fera sur l'imprimante par défaut!
[color=#FF0000]With Sheets(Array("Feuil8", "Feuil10", "Feuil11", "Feuil12", "Feuil13", "Feuil14", "Feuil15", "Feuil16", "Feuil17", "Feuil8"))[/color]
Sheets("Feuil10").Visible = True
Sheets("Feuil11").Visible = True
Sheets("Feuil12").Visible = True
Sheets("Feuil13").Visible = True
Sheets("Feuil14").Visible = True
Sheets("Feuil15").Visible = True
Sheets("Feuil16").Visible = True
Sheets("Feuil17").Visible = True
Sheets("Feuil18").Visible = True
Sheets("Feuil8").Visible = True
.Select
.PrintOut
Sheets("Feuil10").Visible = False
Sheets("Feuil11").Visible = False
Sheets("Feuil12").Visible = False
Sheets("Feuil13").Visible = False
Sheets("Feuil14").Visible = False
Sheets("Feuil15").Visible = False
Sheets("Feuil16").Visible = False
Sheets("Feuil17").Visible = False
Sheets("Feuil18").Visible = False
Sheets("Feuil8").Visible = False
End With
'confirmation impression
msg = "N'oubliez pas vos documents dans l'imprimante !"
Style = vbOKOnly
Réponse = MsgBox(msg, Style, Title)
Else
Exit Sub 'Fin du traitement
' Vous avez choisi le bouton « non ».
'confirmation annulation impression actif uniquement sur la première msgbox
msg = "impression réseau annuler !"
Style = vbOKOnly
Réponse = MsgBox(msg, Style, Title)
End If
End Sub
Malheureusement, lorsque je lance la macro, celle-ci m'indique qu'il y a une erreur:
Erreur d'execution '9': L'indice n'appartient pas à la sélection pour la ligne mise en rouge.
Je ne comprend pas du tout ce qui ne va pas. J'ai bien déclaré mes variables au début de ma macro et lors de l'appel de l'impression
Auriez-vous une idée ?
Merci d'avance !!
Bonjour,
il manque probablement une feuille, vérifie que toutes les feuilles mentionnées dans l'instruction with
existent bien. Je soupçonne que la feuille feuil8 n'existe pas dans ton classeur.
Bonjour,
il manque probablement une feuille, vérifie que toutes les feuilles mentionnées dans l'instruction
with
existent bien. Je soupçonne que la feuille feuil8 n'existe pas dans ton classeur.
Malheureusement la feuille 8 existe bien
Bonjour,
les noms de feuille qui tu as mis n'existent pas, le nom de chaque feuille est le nom de l'onglet. par exemple "fiche d'astreinte encadrement"
Bonjour
déjà on fait une édition PDF
et faire aussi le format des page
et mettre les bon nom des onglet ou les codename
A+
Maurice
Bonjour
j'ais pitié voila en retour ton fichier modifier
a aussi évite de laisser ton code CP
A+
Maurice
Bonsoir à vous !
Merci pour les indications, à la base j'avais bien mis le nom exact des onglets mais ça ne marchait pas non plus...
Bonjour
j'ais pitié voila en retour ton fichier modifier
a aussi évite de laisser ton code CP
A+
Maurice
Astreinte fichier projet modele1.xlsm
Je te remercie de cette pitié car le fichier est parfaitement fonctionnel ! Je continue à comprendre toutes ses fonctions mais je vais y arriver ! Chapeau !
Pour le CP, je n'avais pas fait attention, shame on me...