XL 2016 erreur d'execution 1004 suite macro

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
 

Staple1600

XLDnaute Barbatruc
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
 
C

Compte Supprimé 979

Guest
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:

gilles37

XLDnaute Occasionnel
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

  • poi.xlsm
    21.9 KB · Affichages: 35

gilles37

XLDnaute Occasionnel
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 ;)
 

Jacky67

XLDnaute Barbatruc
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
 

gilles37

XLDnaute Occasionnel
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
 

Discussions similaires

Réponses
22
Affichages
1 K
Réponses
2
Affichages
252

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof