Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Optimisation macro

  • Initiateur de la discussion Initiateur de la discussion RONIBO
  • Date de début Date de début

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 !

RONIBO

XLDnaute Impliqué
Bonjour,

J'utilise ce macro pour créer des fichiers pdf à partir des fichiers sur excel 2007

Code:
Sub ImprimerPDF()
Dim LePath$
LePath = "C:\Users\" & Application.UserName & "\Desktop\" & [H10] & [I10] & " - " & [G14] & " (" & [A12] & ").pdf"
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LePath, OpenAfterPublish:=True
End Sub

J'aimerais lui intégrer un petit truc,

Afficher un msgbox lorsque que le fichier pdf existe déjà

ex : Un fichier nommé 'Nom du fichier' existe déjà à cet emplacement (mettre emplacement)
Voulez-vous le remplacer ?

Si je choisis "OUI", ouvrir le fichier
Si non, annuler.

Voici un fichier exemple 🙂

Merci d'avance

PS : Y a -il des correction à faire dans ce macro, tout vous semble correcte?
 

Pièces jointes

Re : Optimisation macro

Bonjour.
Essayez comme ça :
VB:
Sub ImprimerPDF()
Dim LePath$
LePath = "C:\Users\" & Application.UserName & "\Desktop\" & [H10] & [I10] & " - " & [G14] & " (" & [A12] & ").pdf"
If Dir(LePath) <> "" Then If MsgBox("Le fichier ci dessous existe déjà :" & vbLf & LePath & vbLf _
   & "Voulez vous le remplacer ?", vbYesNo + vbQuestion, "Impression PDF") = vbNo Then Exit Sub
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LePath, OpenAfterPublish:=True
End Sub
 
Re : Optimisation macro

Re,

Merci Dranreb 🙂

Ca fonctionne nickel 🙂

J'ai fait quelques petites modifs 🙂

Code:
Sub ImprimerPDF()
Dim LePath$
LePath = "C:\Users\" & Application.UserName & "\Desktop\" & [H10] & [I10] & " - " & [G14] & " (" & [A12] & ").pdf"
If Dir(LePath) <> "" Then If MsgBox("Un fichier nommé " & vbLf & LePath & "existe déjà à cet emplacement" & vbCr & _
"Voulez-vous le remplacer ?", vbYesNo + vbQuestion, "Voulez-vous écraser le fichier PDF existant ?") = vbNo Then Exit Sub
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LePath, OpenAfterPublish:=True
End Sub

J'aimerais intègrer un petit truck pour éviter un message d'erreur.

Lorsque j'ai crée le fichier pdf et j'oublie de laisser ouvert Adobe Reader

Lorsque j'essaye de créer de nouveau le fichier pdf, j'aimerais mettre un message comme :

"Veuillez fermer le fichier (Nom du fichier.pdf) pour en créer un nouveau"

Merci

a+
 
Re : Optimisation macro

On ne répète en principe pas la question dans le titre de fenêtre d'un message: on met un court texte qui désigne le dispositif programmé qui émet ce message.
Si la méthode ExportAsFixedFormat (qui n'existe pas dans ma version d'Excel) plante néanmoins, mettez devant On Error Resume Next et testez derrière If Err then etc. Mais voyez si vous ne pouvez pas remédier au cas automatiquement avant de le tenter.
 
Re : Optimisation macro

On Error Resume Next est à mettre devant une instruction qui peut provoquer une erreur afin que ça n'interrompe pas l'exécution.
If Err Then suivi des instructions appropriées, derrière elle, pour savoir si elle a provoqué une erreur et prendre les dispositions qui s'imposent alors.
On Error GoTo 0 est à mettre dès qu'il n'y a plus en principe d'instruction dont on pense qu'elle peuvent provoquer d'erreur.
 
Re : Optimisation macro

Bonjour,

Merci Dranreb, j'ai pu éviter l'erreur avec le rajout de code 🙂

Donc d'après s'que je comprends on peut pas mettre de msgbox (le chier est ouvert, fermez le)

C'est ça?

a+
 
- 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
433
  • Question Question
Réponses
2
Affichages
506
  • Question Question
Microsoft 365 sauvegarde par VBA
Réponses
22
Affichages
1 K
Réponses
6
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…