fanch-bzh
Messages postés3Date d'inscriptionlundi 28 juillet 2014StatutMembreDernière intervention28 juillet 2014
-
Modifié par pijaku le 28/07/2014 à 09:26
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention15 mars 2023
-
28 juil. 2014 à 12:25
Bonjour,
je suis un novice et je bidouille le VB pour EXCEL et CATIA en piochant sur le net
aujourd'hui je suis bloquer sur l'ouverture des fichiers PDF que j'ai généré
en gros
je transforme chaque feuille de mon classeur excel en PDF (nom de feuille.PDF)
en l'enregistrant dans le même répertoire
Maintenant je voudrais ouvrir chaque PDF créé , mais pour l'instant ça n'ouvre qu'une fenêtre me demandant le fichier à ouvrir
Voici ma Macro
Sub PDF()
Application.ScreenUpdating = False
On Error Resume Next
Path_name = ThisWorkbook.Path
For i = 1 To Sheets.Count
Sheets(i).Select
'conversion en PDF de chaque feuille
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path_name & "\" & Sheets(i).Name
'ouverture des PDF
LongFilename = Application.GetOpenFilename("PDF Files (*.pdf), *.pdf,(*.*),*.*")
Next i
Sheets(1).Select
Application.ScreenUpdating = True
MsgBox ("Les " & Sheets.Count & " documents PDF viennent d'être créés et son disponnibles dans le même répertoire")
End Sub
A voir également:
Classeur excel =>nom de feuille.PDF=>ouverture PDF
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention15 mars 202314 28 juil. 2014 à 09:39
Bonjour,
Tout d'abord, lorsque vous placez du code sur notre forum, merci d'utiliser les balises à votre disposition. Le mode d'emploi (au cas ou) est ICI.
Ensuite, il est important, en VB, VBA de déclarer les variables que vous utilisez. Pour cela je vous conseille fortement d'utiliser, en tête de Module,
Sinon, pour ouvrir un fichier pdf depuis Excel, vous pouvez simplement utiliser
.FollowHyperlink
.
Comme ceci :
Option Explicit
Sub PDF()
Dim Path_name As String, i As Integer
Application.ScreenUpdating = False
On Error Resume Next
Path_name = ThisWorkbook.Path
For i = 1 To Sheets.Count
Sheets(i).Select
'conversion en PDF de chaque feuille
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path_name & "\" & Sheets(i).Name
Next i
Sheets(1).Select
Application.ScreenUpdating = True
MsgBox ("Les " & Sheets.Count & " documents PDF viennent d'être créés et sont disponnibles dans le même répertoire")
For i = 1 To Sheets.Count
'ouverture des PDF
ThisWorkbook.FollowHyperlink Path_name & "\" & Sheets(i).Name & ".pdf"
Next i
End Sub
A votre place, j'ajouterai une boite de dialogue avant l'ouverture des pdf, pour demander à l'utilisateur s'il désire les ouvrir ou non...
Pour mettre ce type de boite de dialogue en place, n'hésitez pas à demander...
fanch-bzh
Messages postés3Date d'inscriptionlundi 28 juillet 2014StatutMembreDernière intervention28 juillet 2014 28 juil. 2014 à 10:47
super merci ça marche nikel
pour les boites de dialogues , je vais d'abord chercher par moi même .
je reviendrais pour demander de l'aide au besoin et de toute façon pour partager ma macro
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention15 mars 202314 28 juil. 2014 à 10:48
pour les boites de dialogues , je vais d'abord chercher par moi même Ok ça marche.
je reviendrais pour demander de l'aide au besoin et de toute façon pour partager ma macro Très bien, en adéquation avec "l'esprit forum", ce serait parfait.
A bientôt donc et... n'hésite pas!
fanch-bzh
Messages postés3Date d'inscriptionlundi 28 juillet 2014StatutMembreDernière intervention28 juillet 2014 28 juil. 2014 à 11:25
voila , tout fonctionne
Sub PDF() Application.ScreenUpdating = False On Error Resume Next
Path_name = ThisWorkbook.Path For i = 1 To Sheets.Count Sheets(i).Select 'conversion en PDF de chaque feuille ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Path_name & "\" & Sheets(i).Name
Next i Sheets(1).Select Application.ScreenUpdating = True MsgBox ("Les " & Sheets.Count & " documents PDF viennent d'être créés et son disponnibles dans le même répertoire")
If MsgBox("Voulez-vous afficher les PDF ?", vbYesNo + vbInformation, "Message") = vbYes Then
MsgBox "Vous avez cliquer sur Oui ,voici vos PDF ", vbInformation, "Message" For i = 1 To Sheets.Count 'ouverture des PDF ThisWorkbook.FollowHyperlink Path_name & "\" & Sheets(i).Name & ".pdf" Next i Else MsgBox "Vous avez cliquer sur Non . A bientôt ", vbInformation, "Message" End If
End Sub
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention15 mars 202314 28 juil. 2014 à 12:25