Conflit workbook et macro

Résolu/Fermé
Fooney - 24 févr. 2016 à 10:46
 Fooney - 29 févr. 2016 à 14:33
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!


A voir également:

10 réponses

.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _ 
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
0
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
Modifié par pijaku le 24/02/2016 à 11:21
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
0
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
0
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
24 févr. 2016 à 11:45
as tu modifié le code du BeforeSave?
0
Oui je te l'envoi.
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
24 févr. 2016 à 13:28
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

0
Je suis sous la version Excel 2010 .
0
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
24 févr. 2016 à 14:43
Pour continuer, il faudrait voir le fichier incriminé.
Au besoin supprime les données confidentielles.
Pour nous le faire passer ici, il faut le charger sur cjoint.com et revenir ici nous donner le lien ainsi créé
0
Je vous envoie ça.
0
Bonjour,

Veuillez trouver ci-dessous le lien du fichier.

http://www.cjoint.com/c/FBzkLBaEfpT
0
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
25 févr. 2016 à 15:26
Bonjour,
Je regarde ça
0
pijaku Messages postés 12261 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 9 août 2022 2 713
25 févr. 2016 à 15:35
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.
0
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.
0
J'ai finalement trouvé le problem!!!!

La macro ne fonctionnait pas, parce que la feuille que je souhaitais imprimer était masquée.

Merci!
0