Excel création macro avec chemin relatif

Résolu
scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020 - 9 avril 2020 à 11:52
scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020 - 9 avril 2020 à 16:44
Bonjour,
J'ai bien regardé tout ce qui était sur votre site, j'ai appris déjà beaucoup de choses, et je vous en remercie.
J'essaie de compiler plusieurs lignes de code..mais je n'y arrive pas...Grrrr
Néanmoins je coince sur un soucis depuis qqs jours et je me dis qu'il vaut mieux 10 qui savent que 1 qui cherche.
Je vais essayer d'exposer ma problématique.

J'aimerai pouvoir exporter en PDF une "partie" d'une feuille excel prédéfinie (A1:D10) par exemple dans un sous repertoire.
si possible (mais cela ne serait qu'un bonus), donner le nom d'une cellule (A1) au fichier pdf créé
Pour que mon logiciel puisse etre transposable sur d'autres pc, je souhaite ecrire cette macro avec des chemins RELATIFS

repertoire source : C:/temp
fichier excel : toto
feuille : poules

repertoire destination : C:/temp/impressions
fichier pdf créé : "A1".pdf ou xxxx.pdf

Par avance merci pour votre aide

Nicolas

3 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
9 avril 2020 à 12:01
1
scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020
9 avril 2020 à 12:22
merci pour les explications, je vais essayer de les intégrer dans ma macro.
pour le dossier destination, je suppose qu'il y a une différence entre activeworbook.path et thisworkbook.path (que je tente d'utiliser actuellement).

J'essaie d'integrer totu ca, merci
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020
9 avril 2020 à 12:33
Pour une plage de cellule

Sub Save_pdf()
Dim nom As String
Dim chemin As String
Dim Plage As Range
Set Plage = ActiveSheet.Range("A1:D10")
chemin = "C:\Users\LePivert\Documents\" 'chemin du dossier destination à adapter
nom = Range("A1").Value
Plage.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
Set Plage = Nothing
        MsgBox "Enregistrer" 'on peut supprimer
End Sub


Activeworbook.path et Thisworkbook.path indique tous les 2 le dossier dans lequel se trouve le classeur actif

@+ Le Pivert
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21 > scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020
Modifié le 9 avril 2020 à 14:48
Comme les noms l'indiquent :
- ActiveWorkbook est le fichier actif (celui qui a le focus)
- ThisWorkbok est le fichier qui contient la macro.

Pour avoir un répertoire relatif, en général on utilises ThisWorkbook, par exemple :
Chemin = ThisWorkbook.Path & " \impressions\"
nomFichier = "xxxx.pdf"
nomCompletFichier = Chemin & nomFichier


Cdlt
Patrice
0
Whismeril Messages postés 19021 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 avril 2024 656
9 avril 2020 à 13:01
Bonjour

les macros Excel ne se codent pas en VB.Net, mais en VBA, j'ai déplacé ta question dans le bon forum.
1
scotty_ Messages postés 8 Date d'inscription jeudi 9 avril 2020 Statut Membre Dernière intervention 29 avril 2020
9 avril 2020 à 16:44
Un GRAND MERCIIIII pour votre aide...Grace à vous, j'ai énormément avancé, et mon adage se vérifie une fois de plus... et maintenant, mes macros fonctionnent dans mon logiciel, quel que soit le pc sur lequel il est installé.
0
Rejoignez-nous