Conflit workbook et macro
Résolu
Fooney
-
Fooney -
Fooney -
Bonjour,
Je rencontre un problème avec une macro.
Je m'explique :
J'ai une macro qui me permet d'exporter mon fichier en pdf.
J'ai également un règle dans le workbook (before_save) pour empècher l'utilisateur d'enregistrer le fichier.
Le problème est que c'est deux macro rentre en conflit, et j'ai cherché à réglé le problème de différente solution, mais j'ai toujours un message d'erreur.
"Erreur d'éxécution '5':
Argument ou appel de procedure incorrect"
Et excel me dit que l'erreur vient de ce bout de code :
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Si quelqu'un peut m'aider je lui serais très reconnaissant!
Je rencontre un problème avec une macro.
Je m'explique :
J'ai une macro qui me permet d'exporter mon fichier en pdf.
J'ai également un règle dans le workbook (before_save) pour empècher l'utilisateur d'enregistrer le fichier.
Le problème est que c'est deux macro rentre en conflit, et j'ai cherché à réglé le problème de différente solution, mais j'ai toujours un message d'erreur.
"Erreur d'éxécution '5':
Argument ou appel de procedure incorrect"
Et excel me dit que l'erreur vient de ce bout de code :
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Si quelqu'un peut m'aider je lui serais très reconnaissant!
10 réponses
-
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False -
Bonjour,
1- déclarer une vraiable de type booléenne en public dans un module standard
2- les codes :
Dans le module ThisWorkbook :Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Autorise_A_Sauver = True Then Exit Sub Cancel = True: MsgBox "sauvegarde impossible" End Sub
Dans le module standard :Option Explicit Public Autorise_A_Sauver As Boolean Sub enregistre() Autorise_A_Sauver = True ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "blabla\Classeur1.pdf" Autorise_A_Sauver = False End Sub
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je -
Bonjour Pijaku,
Merci pour ces premiers éléments de réponse, mais j'ai toujours la même erreur.
"Erreur d'éxécution '5':
Argument ou appel de procedure incorrect"
Module standard
Option Explicit
Public Autorise_A_Sauver As Boolean
Sub Export_PDF()
Autorise_A_Sauver = True
Dim fichier As String
Dim Adresse As String
Dim Chemin As String
With Worksheets("Format impression")
fichier = "Bon de commande" & ".pdf"
Chemin = ThisWorkbook.Path & "\" & fichier
Adresse = Feuil2.Range("S5")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
MsgBox "Un Pdf a été généré pour votre commande, vous devez l'envoyer à l'adresse : " & Adresse
Autorise_A_Sauver = False
End Sub
Workbook
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sPass As String
If Autorise_A_Sauver = True Then
Exit Sub
Else
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass = "mdp" Then
Cancel = False
Else
MsgBox "Vous ne pouvez enregistrer le fichier, utilisez le bouton de validation du bon de commande": Cancel = True
End If
End If
End Sub -
Oui je te l'ai mis plus haut.
workbook
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sPass As String
If Autorise_A_Sauver = True Then
Exit Sub
Else
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass = "mdp" Then
Cancel = False
Else
MsgBox "Vous ne pouvez enregistrer le fichier, utilisez le bouton de validation du bon de commande": Cancel = True
End If
End If
End Sub -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Le souci ne vient pas de BeforeSave.
Qu'elle version d'Excel?
Si 2007, voir ceci : http://www.microsoft.com/fr-fr/download/details.aspx?id=7
-
-
-
Bon.
La macro fonctionne très bien chez moi.
J'en reviens donc à mon message 7 à savoir une erreur, un manque dans l'installation d'excel (cf ICI).
Bon, il existe, heureusement, d'autres manières d'enregistrer en pdf une feuille excel. Tu pourras en trouver pas mal, ici sur ce site ou sur Internet en général.
Comme cela dépends de ton logiciel de pdf, je te laisse le soin de chercher.
-
Merci pour cette réponse.
Cependant j'ai créé ce fichier pour qu'il soit utilisé par différents utilisateurs sur des ordinateurs également différents.
Si l'utilisation de cette macro demande des conditions spécifiques d'utilisation,
cela peut engendrer des problèmes. -
J'ai finalement trouvé le problem!!!!
La macro ne fonctionnait pas, parce que la feuille que je souhaitais imprimer était masquée.
Merci!