charger un fichier pdf dans un USF

cpeens

XLDnaute Occasionnel
Bonsoir à tous

je souhaiterais s'avoir comment charger une un PDF dans mon USF dans le but de pouvoir l'enregistré ensuite dans mon dossier stock

j'ai recherche un peut sur xld mais je n'ai rien trouvé la dessus

j'ai donc créer une Pj mais je sais pas trop quoi mettre dedant donc je viens vers vous un peu à vide


merci pour tout ceux qui voudront bien m'aider à combler cette zone noir
 

Pièces jointes

  • Test pdf.zip
    15 KB · Affichages: 73
  • Test pdf.zip
    15 KB · Affichages: 70
  • Test pdf.zip
    15 KB · Affichages: 72

fhoest

XLDnaute Accro
Re : charger un fichier pdf dans un USF

Bonjour a tous,
voici pour toi un exemple avec la commande shell.
Code:
Sub Bouton1_Clic()
Dim MyPath As String
Dim MyFile As String
'chemin ou se trouve l'executable
MyPath = "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"
'chemin ou se trouve le fichier
MyFile = "C:\Users\PAPA\Documents\Mes fichiers reçus\test save as .pdf"
Shell MyPath & " " & MyFile, vbNormalFocus
End Sub
il ne se trouve pas dans un userform,mais ceci fonctionne pour visualiser le pdf.
A+, et bonne journée a tous.:D
 

YANN-56

XLDnaute Barbatruc
Re : charger un fichier pdf dans un USF

Boujour cpeens, et à tous,

cpeens, je travaille sur la version 9, mais je pense que cela ne change pas grand-chose.

Le problème vient du fait que les extensions des fichiers sont visibles sur ton Ordi.

Tu as donc deux solutions:

Solution 1) Dans n'importe quel dossier ouvert, -> Outils -> Options des Dossiers -> Affichage
-> Décoche "Masquer les Extensions dont le Type est connu"

Solution 2) Dans " Private Sub ListView1_Click()":

Tu supprimes dans cette ligne: "& ".pdf""

Code:
WebBrowser1.Navigate2 ActiveWorkbook.Path & "\" & USF_PDF.ListView1.SelectedItem.Text & ".pdf"

Donc, remplacée par:

Code:
WebBrowser1.Navigate2 ActiveWorkbook.Path & "\" & USF_PDF.ListView1.SelectedItem.Text

Cela devrait fonctionner.

Regarde en premier lieu le nouveau Dossier joint qui devrait
correspondre à ta config actuelle
.

Amicalement.

Yann
 

Pièces jointes

  • PDF_TEST.zip
    21.6 KB · Affichages: 47
  • PDF_TEST.zip
    21.6 KB · Affichages: 48
  • PDF_TEST.zip
    21.6 KB · Affichages: 49

camadian

XLDnaute Junior
Re : charger un fichier pdf dans un USF

Bonjour Yann,
ca marche impeccable
mais les listview j'ai beaucoup de mal
j' ai tester avec une listbox mais il faut double cliquer sur le fichier mais ca le fait
merci pour tout
mais je reste toujours bloquer sur mon autre pb de recherche

A+
 

Habitude

XLDnaute Accro
Re : charger un fichier pdf dans un USF

Bonjour cpeens
je suis sur le meme sujet et j'ai remarqué que en supprimant
& ".pdf#toolbar=0&navpanes=0&scrollbar=0"
on arrive a ouvrir les fichiers

A+

Ca prouve que le .pdf est déjà dans le nom du fichier.
Je ne pense pas que de l'enlever est la solution.
Si tu change tes paramètres Windows, ton appli ne marchera plus.

WebBrowser1.Navigate2 ActiveWorkbook.Path & "\" & USF_PDF.ListView1.SelectedItem.Text & ".pdf"

pourquoi pas ceci


WebBrowser1.Navigate2 ActiveWorkbook.Path & "\" & Replace(USF_PDF.ListView1.SelectedItem.Text, ".pdf", "") & ".pdf"
 

camadian

XLDnaute Junior
Re : charger un fichier pdf dans un USF

Bonjour habitude,
Je suis en mode masquer les extensions connues
j'ai modifier en mettant une listbox a la place d'une listview
mais KO

Maintenant dans ma listbox j'affiche par défaut les extensions !!!
le pb est que je sais pas si on peut enlever les extensions

ci joint le code

A+

Private Sub ListBox1_Click()
'Dim chemin As String
Dim fichier_select As Variant
Dim chemin As String
Dim fichier As Object
Dim SourceFolderName As String
Dim listeFichiers, fs, fld As Object
Dim r As String
Dim d, f As Variant
Dim i As Integer
Dim pathr As String
Worksheets("Tool_Dossiers").Select
fichier_select = Me.ListBox1.Value 'assigner à la variable fichier_select le fichier qui est 'double cliqué'
r = Range("A2") & "\Plans\3-Ensembles et détails\pdf\"
d = Array("Z:\affaires\", "W:\Affaires\")
Set fs = CreateObject("Scripting.filesystemobject")
For i = LBound(d) To UBound(d)
pathr = d(i) & r
If fs.FolderExists(pathr) Then
Set fld = fs.GetFolder(pathr).Files
For Each f In fld
WebBrowser1.Navigate2 pathr & ListBox1.Text & "#toolbar=0&navpanes=0&scrollbar=0" ' ligne qui fonctionne
'WebBrowser1.Navigate2 pathr & ListBox1.Text & Replace(ListBox1.Text, ".pdf", "") & ".pdf" ' ligne Habitude modifié par moi ==>KO
'ThisWorkbook.FollowHyperlink pathr & fichier_select 'ouvrir le fichier comme un hyper lien
Next
End If
Next
End Sub
 

YANN-56

XLDnaute Barbatruc
Re : charger un fichier pdf dans un USF

Bonsoir à tous, Bonjour Habitude avec encore joint un "Merci" :),

J'ai par ailleurs construis des "Usines à Gaz" pour vérifier si l'utilisateur avait
les extensions de Fichiers visibles ou non, afin d'automatiser l'adaptation de mes codes.

Comme une andouille je n'avais pas pensé à ce "Replace" que je connaissais pourtant!

La preuve, encore une fois du bien fondé de ma signature!!!
 

Habitude

XLDnaute Accro
Re : charger un fichier pdf dans un USF

@camadian

Pour enlever les extensions, suffit d'utiliser la fonction Replace
qui va remplacer, s'il y a lieu, les ".pdf" en ""


@Yann-56

Au plaisir.

A force de programmer je me suis rendu compte que le plus difficile n'était pas de faire du code mais d'adapter le code.
Il m'arrive encore de copier-coller des fonctions pour créer des variantes.
 

fhoest

XLDnaute Accro
Re : charger un fichier pdf dans un USF

Bonjour,
voici la version que je t'avais donner au départ:
il y a un espace dans ton nom de fichier a la fin regarde bien supprime le dans le nom et dans le code car ce n'est pas facile a détecter.
dans le code il faut changer le chemin du fichier
A +
 

Pièces jointes

  • pdfform.xlsm
    21.8 KB · Affichages: 60

cpeens

XLDnaute Occasionnel
Re : charger un fichier pdf dans un USF

Bonjour à tous je reviens vers vous aprés plusieur jour votre aide dans ma premiere problematique à été fructueuse car ce qui m'etait proposé était pas tés adapté a ce que je souhaitais faire et ont va dire que mes connaissance VBa sont trés limité mais j'ai réussis tout de même à avancé je eviens donc pas les main vide.

j'explique donc mon projet jai un fichier exel dans un dossier nommé TEST dans ce dosier j'ai également un dossier nommé Diplome et dans le Dossier Diplome un sous dossier Nommé Formation1 ;Formation2;Formation3........

dans l'exemple se seras Formation1

dans mon USF sachant que le nom du fichier et le sous dossier sont variable j'ai donc créer 2 Combobox nomé BF3 pour le nom du sous dossier et BF2 pour le nom du fichier et grace à l'adaptation de votre code j'ai obtenue ceci


Code:
Private Sub BF2_Change()
WebBrowser1.Navigate2 ActiveWorkbook.Path & "\" & "Diplome" & "\" & UserForm1.BF3.Text & "\" & UserForm1.BF2.Text & ".pdf"
End Sub

et la sa m'affiche dans le WebBrowser1 notre pdf jusqu'a la pas de soucis

sachant que mes fichier pdf se trouvent dans différent dossier de nos serveurs je souhaitais avoir un bouton pour parcourir mon serveur ou disque dur pour affiché dans le webbroswer le PDF que j'aurais sélectionné en vue d'etre enregistré dans le sous dossier formation2 par exemple

donc c'est ici que je peche j'ai essayer d'adapter un code conçu à la base pour parcourir le disque dur et chercher une image et afficher dans un controlleur image mais la c'est du pdf donc voilà ce code est celui ci


Code:
Private Sub CommandButton2_Click()
Dim f, ImageP As StdPicture

  f = Application.GetOpenFilename("pdf (*.pdf),*.pdf")
  If f <> False Then
  On Error Resume Next
    If Dir(f) = "" Then Exit Sub
    Set ImageP = LoadPicture(f)
    On Error GoTo 0
    If ImageP Is Nothing Then
      MsgBox "Erreur à l'ouverture de l'image", vbCritical
    Else
      Set WebBrowser1 = ImageP
  
    End If
  End If

Image101.Picture = ImgAffichee.Picture

et bien sur sa beug

en jetant un oeil a ma Pj pouvez vous me sugéré une idée svp merci


Ps:pour la Pj apparement mon programe compresse pas les dossier dans les sous dossier donc en decompressant je pense qu'il fradras juste recreer un dossier dossier diplome à l'intérieure un dossier formation1 et y mettre le fichier a.pdf désolé mais j'ai trouvé aucune autre solution.

merci d'avance
 

Pièces jointes

  • Nouveau dossier (3).zip
    22 KB · Affichages: 43

Discussions similaires

Réponses
8
Affichages
400
Réponses
11
Affichages
249

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94