Macro excel qui ne fonctionne plus

Fermé
Vince0708 - Modifié le 28 juin 2022 à 00:17
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 29 juin 2022 à 08:49
Bonsoir à tous.

je ne comprends pas, j'utilisais jusqu'à présent une macro qui fonctionnait plutot bien et qui buggue maintenant.

Je vous explique j'ai des tableaux avec une centaine d'onglet. j'avais demander ici une macro magique pour extraire chaque onglet en un fichier séparé pdf.

Jusqu'à présent je fonctionnais ainsi et ça marchait plutot bien:

"Insertion, Module dans vba:

Option Explicit
Dim nom, chemin  As String
Dim sh As Worksheet
 Sub Save_onglet()
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each sh In ThisWorkbook.Worksheets
nom = sh.Name
  Sheets(nom).Select
    Save_pdf
 Next
End Sub
Private Sub Save_pdf()
chemin = ActiveWorkbook.Path & "\" 'chemin du dossier destination à adapter
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & "\" & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
        MsgBox "Enregistrer" 'on peut supprimer
End Sub


puis j'y associait un bouton et ça fonctionnait. Maintenant j'ai un message d'erreur qui me dit "erreur "429" un composant active X ne peut pas créer d'objet...

C'est un peu de l'hebreu pour moi....

J'ai peur d'avoir trop copié cette macro en faisant des essais, il me faudrait peut être nettoyer tout ça, mais je ne sais pas comment faire, et j'ai peur que ça me détraque les autres tableaux où ça fontcionne par contre.

Help!!!

Merci par avance.
A voir également:

2 réponses

Et je voudrais preciser que lorsque je saisie un nouveau tableau, ça fonctionne! Alors que sur le tableau en question j'ai ce message d'erreur. Je ne comprends plus
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 29 juin 2022 à 08:50
Bonjour,

en l'état je vois 2 choses qui sont bancales :
Dans les déclarations de variable :
Dim nom, chemin  As String
écrit comme ça, nom est déclaré en variant. il faudrait plutot écrire
Dim nom  As String, chemin  As String

Dans la sub Save_pdf : tu écris
chemin = ActiveWorkbook.Path & "\"
et ensuite tu rajoutes
Filename:= chemin & "\"
ce qui doit renvoyer "chemin\\" ce qui selon moi ne doit pas fonctionner

0