XL 2016 erreur d'execution 1004 suite macro

  • Initiateur de la discussion Initiateur de la discussion gilles37
  • 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 !

gilles37

XLDnaute Occasionnel
Bonjour à tous,

J'ai un bouton sur une feuille qui ouvre un inputbox ( composé d'une fenêtre de saisie, d'un bouton Ok et d'un bouton ANNULER) afin d'y renseigner le dossier de destination d'enregistrement en PDF.
Je renseigne le nom du dossier, la feuille active est enregistrée en PDF dans le dossier voulu--->pas de souci
Le probleme, si je fais annuler, j'ai une erreur d’exécution 1004

ci-dessous la macro

Sub enregistrePOI()
Dim NomDossier As String
Dim CheminDossier As String

'On Error GoTo 1

NomDossier = Application.InputBox("dossier Enregistrement :", "dossier")
CheminDossier = "E:\Bibliothèques\Documents\POI\" & NomDossier & "\"

If NomDossier = "" Then Exit Sub


'enregistrement en pdf
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CheminDossier & "POI_" & Range("D4").Value & Cells(2.5).Value & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False


End Sub

Merci pour votre aide
 
Bonsoir le fil, le forum


Regardes ce petit exemple (en guise d'inspiration)
VB:
Sub test_InputBox()
Dim iBox As Variant
iBox = Application.InputBox("Texte à saisir")
If iBox = False Then
    MsgBox "Saisie annulée"
ElseIf iBox = "" Then
    MsgBox "Attention saisie vide"
Else
    MsgBox iBox
End If
End Sub
 
Bonjour Gilles37, Salut l'agrafe 😉

Simple, ton test ne se trouve pas au bon endroit et n'est pas complet
Code:
Sub enregistrePOI()
  Dim NomDossier As Variant
  Dim CheminDossier As String

  On Error Resume Next

  NomDossier = Application.InputBox("dossier Enregistrement :", "dossier")
  ' Si l'utilisateur à annulé la procédure, on sort
  If NomDossier = "" Or NomDossier = False Then Exit Sub
  ' Sinon
  CheminDossier = "E:\Bibliothèques\Documents\POI\" & NomDossier & "\"
  'enregistrement en pdf
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                  CheminDossier & "POI_" & Range("D4").Value & Cells(2.5).Value & ".pdf", Quality:= _
                                  xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                  From:=1, To:=1, OpenAfterPublish:=False
End Sub

A+
 
Dernière modification par un modérateur:
Bonjour BrunoM45, Staple1600 et bonjour le forum

Merci a vous, mais j'ai une erreur lors de l'enregistrement en PDF sur le dossier choisi🙁

L'erreur surlignée en jaune est : If NomDossier = "" Or NomDossier = False Then Exit Sub
message: erreur d'execution13 incompatibilite de type

Je vous avoue, je ne comprend pas.
Ci-joint le fichier
Merci pour votre aide😉
 

Pièces jointes

Bonjour le forum, bonjour jacky67
Je ne cherchais pas l'erreur a ce niveau.
Bien vu! çà fonctionne.🙂

effectivement la variable "As String" déclare du texte contrairement "As Variant" qui déclare tout type de données
Encore merci a vous, le forum 😉
 
Bonjour le forum, bonjour jacky67
effectivement la variable "As String" déclare du texte contrairement "As Variant" qui déclare tout type de données
Re..
Si l'on souhaite garder la variable "As String" , c'est faisable en modifiant cette ligne.
If NomDossier = "" Or NomDossier = False Then Exit Sub
par
If NomDossier = "" Or NomDossier = "Faux" Then Exit Sub
C'est peu orthodoxe , mais cela fonctionne
 
Bonjour le forum
Vos aides ont été précieuses.
Avez vous une idée sur le problème suivant:
La génération du pdf qui est enregistré dans dossier fonctionne à la perfection sur plusieurs pc Sauf un qui n enregistre pas le pdf pourquoi ?

Merci
 
- 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

Réponses
10
Affichages
487
Réponses
3
Affichages
541
Réponses
2
Affichages
410
Retour