• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

Besoin d'aide pour création de macro excel (export PDF)

prowls

Nouveau membre
3 Octobre 2010
24
3
30
Bonjour à tous !

Je m'adresse aux spécialistes du VBA et des macros dans Excel !!

Ma boîte m'a demandé de mettre en place un système d'informatisation des dossiers client. J'ai donc créé un document excel qui permet de remplir un "formulaire" (en l'occurrence juste compléter des cellules) dans une feuille, afin de remplir automatiquement une deuxième feuille dont la mise en page est prévue pour l'impression.

Je souhaiterais maintenant disposer d'une macro qui me permettrait d'enregistrer cette deuxième feuille en PDF, dans le dossier ou se trouve mon classeur (dans chaque dossier client, un classeur permettra ainsi de créer un pdf).

Il faudrait également que le nom du fichier reprenne le nom du client, indiqué par exemple dans la cellule A2.

Concrètement, imaginons un dossier "Durant", dans lequel j'aurais une fois l'opération terminée :
Fiche client.xlsm
Fiche client_Durant.PDF (créé à l'aide de la macro)

J'ai essayé de créer cette macro par moi même en bricolant des lignes de codes glanées sur certains forums mais je ne suis jamais parvenu à obtenir le résultat escompté !

Dernière précision, j'utilise excel 2011 !

Merci d'avance à ceux qui essaieront de m'aider !
 

Aliboron

Chercheur de son
Modérateur
Club MacG
1 Janvier 2008
12 928
648
Toulouse.cong
faq.office.macintosh.free.fr
Bon, ça n'a pas l'air de t'intéresser beaucoup finalement.

Mais pour ne pas laisser ce fil "en l'air", on va tout de même te suggérer une piste. En partant du principe que ta deuxième feuille se nomme "Impression" et que le nom du client s'y trouve dans la cellule A2, tu peux faire quelque chose comme ça :

Bloc de code:
Sub Archivage()

ChemindAcces = ThisWorkbook.Path & ":Fiche Client_"

With Worksheets("Impression")
    NomClient = .Range("A2") & ".pdf"
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=ChemindAcces & NomClient
End With

End Sub
Il te faudra probablement adapter à la situation réelle...
 

prowls

Nouveau membre
3 Octobre 2010
24
3
30
Oulah ! Pardon, je n'ai pas vraiment eu le temps de revenir sur le forum depuis mon message !

Pour répondre à ta question, la seule chose concrète à laquelle j'étais parvenu jusqu'ici était d'enregistrer mes actions dans une macro (avec la méthode du "bouton rouge") et donc de simplement enregistrer en pdf. J'ai ensuite voulu modifier la macro en collant des morceaux de codes que j'avais trouvés mais sans avoir de meilleur résultat (message d'erreur, macro qui ne déclenche rien, etc.), je rappelle que je n'y connais strictement rien du tout en VBA.

Je vais tester ton code tout de suite et je te tiens au courant ! Merci pour la peine que tu t'es donnée !

---------- Nouveau message ajouté à 01h17 ---------- Le message précédent a été envoyé à 01h07 ----------

Ca marche !!! C'est exactement ce qu'il me fallait ! Je te remercie énormément ! Connais-tu un site de tutos ou de cours sur les macros dans excel ? Merci encore à toi !
 
  • J’aime
Réactions: Aliboron

Aliboron

Chercheur de son
Modérateur
Club MacG
1 Janvier 2008
12 928
648
Toulouse.cong
faq.office.macintosh.free.fr
Connais-tu un site de tutos ou de cours sur les macros dans excel ?
Non, pas vraiment. Et ce qu'on trouve ici ou là est généralement conçu pour les utilisateurs de versions Windows, ce qui peut poser quelques problèmes de compatibilité. On peut tout de même citer Excelabo, qui est un bon site francophone. Et on peut aussi indiquer le site de Ron de Bruin, c'est un "grand maître" sur Excel qui est récemment passé au Mac et qui fournit des tas d'indications utiles au sujet des adaptations de macros Windows vers Mac. Il donne aussi quelques extensions gratuites qui peuvent aider pas mal...
 

prowls

Nouveau membre
3 Octobre 2010
24
3
30
Ok merci pour ton aide précieuse et pour tes liens ! Je vais y jeter un oeil de ce pas ! Sujet résolu pour moi !