Exporter une feuille de calcul Excel en PDF via BVA
Résoluxav62000 Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
- Exporter une feuille de calcul Excel en PDF via BVA
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Calcul moyenne excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
21 réponses
Bonjour,
Essaie :
Sub ExportPDF() Dim Fich As String If Worksheets("Match_10eq").Visible Then Worksheets("Match_10eq").Activate ElseIf Worksheets("Match_8eq").Visible Then Worksheets("Match_8eq").Activate Else: Worksheets("Match_6eq").Activate End If Fich = ThisWorkbook.Name Fich = Left(Fich, InStrRev(Fich, ".") - 1) & ".pdf" Range("A1:T61").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "c:\dropbox\tennis de table\PDF\" & Fich, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
Daniel
Bonjour,
Essaie :
Sub ExportPDF() Dim Fich As String If Worksheets("Match_10eq").Visible Then Worksheets("Match_10eq").Activate ElseIf Worksheets("Match_8eq").Visible Then Worksheets("Match_8eq").Activate Else: Worksheets("Match_6eq").Activate End If Fich = ThisWorkbook.Name Fich = Left(Fich, InStrRev(Fich, ".") - 1) & ".pdf" Range("A1:T61").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ ThisWorkbook.Path & "\" & Fich, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
Daniel
Bonjour,
Essaie :
Sub ExportPDF() Dim Fich As String If Worksheets("Match_10eq").Visible Then Worksheets("Match_10eq").Activate ElseIf Worksheets("Match_8eq").Visible Then Worksheets("Match_8eq").Activate Else: Worksheets("Match_6eq").Activate End If Fich = ThisWorkbook.Name Fich = Left(Fich, InStrRev(Fich, ".") - 1) & ".pdf" Range("A1:T61").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ ThisWorkbook.Path & "\" & Fich, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub
Daniel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
On a besoin du chemin absolu. Est-ce qu'il y a plusieurs dossiers possibles ? Précise ce que tu veux faire exactement. Exporter 3 plages de cellules dans un seul fichier PDF ? Dans 3 fichiers PDF ? Quel sera le nom du (des) fichier(s) résultant(s) ?
Daniel
Bonjour Daniel,
L'exportation se fait dans le dossier courant, car selon moi chaque Utilisateur n'a pas le même chemin d'accès.
J'ai, mentionné qu'il faut exporter Uniquement la feuille active qui peut s'appeler soit match_10eq - Match_8eq - Match_6eq selon le cas (donc je pense qu'il faut vérifier si l'un e des 3 feuilles est active ou non)
la sélection de la page le range si j'ai bien compris va de A1 à T61 dans tous les cas.
Le nom attribué du fichiers PDF doit se nommer à l'identique du fichier en cours.
Xavier si cela peut etre utile (il y a 1 MDP de protection dans le VBA") je t'envoi cela en privé
https://www.cjoint.com/c/NGelngFJZb2
Essaie :
Sub ExportPDF() If ActiveSheet.Name = "Match_10eq" Or ActiveSheet.Name = "Match_8eq" Or _ ActiveSheet.Name = "Match_6eq" Then Range("A1:T61").ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False Else: MsgBox "nom de la feuille incorrect" End If End Sub
Daniel
J'ai copié le code dans le Thiswoorkbook à la fermeture du fichier
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Un petit message d'erreur : "Nom de la feuille Incorrect" je présume que c'est la Msg Box.
Mais je ne vois pas le fichier PDF qui devrait se copier dans le même répertoire que le fichier initial.
Sinon on peut essayer de le copier selon le chemin suivant C:\Users\user\Dropbox\tests pdf
Ce message indique que la feuille active n'est pas l'une des trois feuilles indiquées. Il n'y a donc pas de création de fichier PDF.
Daniel
J'ai collé ton code dans le module 1 puis dans le this woorkbook, j appelle la procedure call ExportPdf
https://www.cjoint.com/c/NGentMzdCE2
Ca fonctionne ici. Tu as toujours le message d'erreur ? Essaie comme ça, si la feuille n'est pas la bonne, j'ai ajouté un msgbox avec le nom de la feuille aactive.
J'ai compris ce qu'il se passe.
En fait la feuille Match_eq10 n'est pas active. Je viens de sélectionner la feuille concernée et fermer le classeur et ça fonctionne (pas dans le bon dossier mais c'est pas grave).
En revanche, si je me positionne sur une autre feuille et que je ferme le classeur alors ça ne fonctionne pas. Donc pour moi il ne faut pas utiliser Active.sheet ou alors il faut l'activer avant de fermer.
Mais je ne suis pas expert la dedans
"En revanche, si je me positionne sur une autre feuille et que je ferme le classeur alors ça ne fonctionne pas"
Eh, non, puisqu'il faut exporter une des 3 feuilles qui doit être la feuille active ! Sinon, comment savoir quelle feuille exporter ?
Daniel
Sub ExportPDF()
If Worksheets("Match_10eq").Visible Then
Worksheets("Match_10eq").Activate
ElseIf Worksheets("Match_8eq").Visible Then
Worksheets("Match_8eq").Activate
Else
Worksheets("Match_6eq").Activate
End If
Range("A1:T61").ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
Le code ci-dessus fonctionne bien. Il me reste à trouver de copier le PDF selon le chemin c:\dropbox\tennis de table\PDF
Bonsoir Daniel,
C'est bien ce que je pensais, j'ai fais un test avec un autre utilisateur des fichiers partagés et ça bugg car le chemin d'accès est différent.
Je pense que le plus simple, bien qu'il ne me plait pas serait que le fichier PDF s'enregistre dans le même dossier que le fichier excel.
Est ce possible ??
Merci