Bonjour,
je suis depuis quelques jours sur une macro que je ne parviens pas à faire fonctionner malgré de nombreux essais suite à mes recherches sur la toile. Je suis relativement novice en VBA et mon problème va peut être vous sembler idiot...
Pour le contexte, tout d'abord mon fichier devra être utilisé par différentes personnes au sein de mon entreprise, d'où ma mission de créer un outil "simple d'utilisation"..
Au départ, j'ai créer un tableau en feuille1 de mon classeur (tableau que chacun devra remplir)
Ensuite, au travers d'une macro, un rapport concernant la dernière ligne remplie est automatiquement créé par click sur une commandbutton vers la feuille2 du classeur puis par une deuxième commandbutton, une seconde macro me créé: premièrement une sauvegarde sur le réseau de mon entreprise, du fichier excel puis me génère un PDF au travers de PDFcreator. Une boite de dialogue (créée par un userform) s'ouvre alors, permettant à l'utilisateur de choisir d'ouvrir ou non ce fichier PDF.
mon soucis est que je ne parviens pas à lancer l'ouverture du fichier en cas de click sur "oui" dans cette boite de dialogue.
J'ai essayé différentes méthodes sans succès..
Je suis sur une solution de créer un lien hypertexte dans ma feuille mais je ne parviens pas ensuite à l'ouvrir: message d'erreur "impossible d'ouvrir le fichier spécifié"
Tout d'abord, pour résoudre le fait de créer à chaque fois de nouveau rapport PDF je suis partis sur le fait de trouver le dernier fichier créé:
Voici le code que j'utilise:
N'ayant pas de code utilisable pour le moment, je ne suis pas parvenu à tester de code permettant ensuite l'ouverture de ce lien nouvellement créé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Function FindLastFile(Path As String) Dim fName As String Dim fDate As Date Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Dim folder Set folder = fso.GetFolder(Path) Dim Files Set Files = folder.Files Dim File For Each File In Files If File.DateCreated > fDate Then fDate = File.DateCreated fName = File.Name End If Debug.Print File.Name, File.DateCreated, "=>", fName, fDate Next Set Files = Nothing Set folder = Nothing Set fso = Nothing FindLastFile = fName End Function 'Ensuite, je l'utilise dans ma userform avec le code suivant: Private Sub CommandButton1_Click() ' Créer lien hypertexte du rapport Dim chemin As String Range("z1").Select chemin = "S:\Chemin\Dossier1\Dossier2\Rapports générés" ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=FindLastFile(chemin) Unload Me End Sub
En espérant avoir été claire dans mes explications, quelqu'un aurait-il une solution s'il vous plaîiiiiiiiiiiiit?????
Merki!!
Partager