Microsoft 365 Macro enregistrement automatique pdf

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nounours4173

XLDnaute Nouveau
Bonjour,

J'utilise une macro dans un fichier pour enregistrer ma page au format .pdf
Cette macro nomme et enregistre le pdf automatiquement dans un dossier, qu'elle créé s'il n'existe pas.

Je veux réutiliser cette macro pour un autre fichier excel
J'ai adapté la macro pour la sélection de la zone d'impression et fait les modifs pour que ca enregistre dans le bon dossier.

La macro "d'origine" fonctionne correctement, enregistre le fichier pdf avec le bon nom dans le bon dossier et valide le tout par la box de dialogue comme prévu.
Celle que j'ai modifiée réagis a 2 comportement différents
le premier :
lorsque je lance la macro elle me demande bien dans quel dossier je veux enregistrer le fichier et contrairement à celle d'origine le dossier d'enregistrement s'ouvre (comme quand on fait enregistrer sous). Il faut que je clique sur "annuler" pour que la macro s'exécute normalement !

Second cas
idem que le premier cas mais il faut que je mette un nom dans "nom de fichier" et que je clique sur enregistrer pour que la macro s’exécute.
Le problème c'est que ça créé aussi un fichier avec le nom que j'ai remplis à la main, je me retrouve donc avec des fichiers en double.

Ci dessous la macro réagissant au second cas

Sub archive()
'
' archive Macro
'
NomDossier = Application.InputBox("Nom du dossier", "Creation du dossier", "Entrer le mois")
Chemin = "g:\Mon Drive\Ete 2025\Bus\Archives\" & NomDossier & "\"
'
ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveSheet.Outline.ShowLevels RowLevels:=2
Range("A1😛52").Select
Selection.PrintOut Copies:=1, Collate:=True


On Error Resume Next
If NomDossier = "" Then
Exit Sub

Else

Dossierexistant = GetAttr(dossier) And vbDirectory

If Dossierexistant = False Then
MkDir (Chemin)
End If


ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Chemin & "Archive Bus " & Range("M1") & ".pdf", _
quality:=xkqualitystandard, _
includedocproperties:=True, _
IgnorePrintAreas:=False, from:=1, to:=1, _
openafterpublish:=False

MsgBox ("Et voilà !")
End If


End Sub


J'espère avoir été clair dans mes explications !
Merci par avance pour vos réponses
 
Solution
@Nounours4173

1)
Le message box ne s'affiche jamais.

C'est normal car la ligne est en commentaire comme TFB l'a indiqué dans le message précédent
J'ai rectifié avec la V2 en activant la ligne donc tu auras un message après la création du pdf.


Si la création du pdf est réussie tu auras ce message suivant le bouton que tu as cliqué :

1749693010679.png
ou bien
1749693046132.png


2)
Après plusieurs essais j'ai de temps en temps un message d’erreur
1749670913771.png


le débogueur m’emmène sur cette ligne :

1749670802256.png

Ce message arrive quand le...
Je te propose

Merci de ton retour
Je viens de tester, il reste quelques détails mais ça fonctionne bien. Déjà merci pour tout ça.

Pour impression journée
1749669834149.png


Tu as mis comme zone à imprimer A1:H48
En fait les lignes 11 à 16, 25 à 30, 38 à 41 et 49 à 52 doivent être masquées également
Ainsi que les colonnes avec des données après H

Cela correspond aux zones groupées 1 et 1
1749670435493.png




Après plusieurs essais j'ai de temps en temps un message d’erreur
1749670913771.png


le débogueur m’emmène sur cette ligne :

1749670802256.png


Le message box ne s'affiche jamais.

J'espère avoir été clair dans mes explications ;-)
 
@Nounours4173

1)
Le message box ne s'affiche jamais.

C'est normal car la ligne est en commentaire comme TFB l'a indiqué dans le message précédent
J'ai rectifié avec la V2 en activant la ligne donc tu auras un message après la création du pdf.


Si la création du pdf est réussie tu auras ce message suivant le bouton que tu as cliqué :

1749693010679.png
ou bien
1749693046132.png


2)
Après plusieurs essais j'ai de temps en temps un message d’erreur
1749670913771.png


le débogueur m’emmène sur cette ligne :

1749670802256.png

Ce message arrive quand le fichier PDF est ouvert et excel ne peut pas le remplacer par le nouveau PDF
Dans cette version tu auras un message pour te dire que le fichier pdf est ouvert et qu'il faut le fermer avant de pouvoir faire le pdf

Si le fichier pdf est ouvert tu auras ce message :


1749693355444.png


3) J'ai mis le chemin de l'utilisateur c'est à dire les 2 chemins que tu m'as donné

G:\Mon Drive\Ete 2025\Bus\......

4)

Tu as mis comme zone à imprimer A1:H48
En fait les lignes 11 à 16, 25 à 30, 38 à 41 et 49 à 52 doivent être masquées également
Ainsi que les colonnes avec des données après H

Cela correspond aux zones groupées 1 et 1

J'ai supprimé les groupes et je l'ai remplacé par le masquage/affichage directement et automatiquement dans la macro en fonction du bouton cliqué.
Toutes les colonnes/lignes redeviennent visibles en fin de macro et après création du PDF sans intervention de l'utilisateur


En principe tout fonctionne 😉

Merci de ton retour
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
235
Réponses
10
Affichages
530
Réponses
3
Affichages
566
Retour