Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA Lister fichiers d'un dossier avec lien hypertexte

Antibios

XLDnaute Nouveau
Bonjour,

Cela fait maintenant quelques temps que j’utilise Excel. Je me débrouille dans tout ce qui est formules. Mais maintenant, on me demande de faire des choses un peu plus poussé qui demande des connaissances en VBA, choses que je n’ai pas naturellement.
Je comprends à peine les codes les plus simples que long peu trouver sur le net.

Mon patron m’a demandé de créer un listing de tous les chantiers effectués depuis 2012 (date de la dématérialisation).
Dans ce listing, doit figurer dans la même cellule le nom du fichier *.xlsm avec un lien hypertexte du pdf qui est déjà créé et classé par ordre alphabétique du nom des fichiers. Il faudrait également, d’autres informations comme le nom du client, le lieu etc… dans les cellules de droite.

Il m’a demandé de faire cela au plus vite, sauf que manuellement, difficile de le faire rapidement vue qu’il y a + de 600 missions par an sur 4 ans XD (2400 fichiers à saisir). Il faut donc que je trouve un moyen qu’Excel le face à ma place par une commande VBA pour répondre à cette demande.

J’ai regardé ce week-end sur la toile, les codes VBA existant. J’ai trouvé un truc qui fonctionne bien mais, je n’arrive pas à intégrer les liens hypertextes, ni à lui dire d’intégrer d’autres informations dans d’autres cellules.

J’aime bien le code ci-dessous parce je le comprends un peu et j’ai réussi à lui faire afficher les fichiers toutes les 2 lignes (choses que j’ai besoin).
Voici la base que j’ai adaptée :

Code:
Sub ListeFichiers()
Application.ScreenUpdating = False
Dim myPath As String, myFile As String

myPath = ThisWorkbook.Path
myFile = Dir(myPath & "\*.xlsm*")

c = 4
Do While myFile <> ""
Cells(c, 1) = myFile
myFile = Dir()
c = c + 2
Loop

Dim myPathPDF As String, myFilePDF As String

myPathPDF = ThisWorkbook.Path
myFilePDF = Dir(myPath & "\*.pdf*")

c = 5
Do While myFilePDF <> ""
Cells(c, 1) = myFilePDF
myFilePDF = Dir()
c = c + 2
Loop

End Sub
J’ai essayé de faire fonctionner ce code mais, je n’arrive pas à le faire fonctionné pour mon travail.
Les cellules fusionnées n’affichent que un fichier alors que pour le code il y en a 2. Les missions son divisé par 2 dans ce cas.

http://excel.developpez.com/faq/?pag...riptingRuntime

J’ai essayé sans succès d’intégrer le lien hypertexte mais, je ne sais pas pourquoi le code ne fonctionne pas :

ActiveSheet.Hyperlinks.Add Anchor:=Cells(c, 1), _
Address:= myFile.ParentFolder & "\" & myFile.Name

J’ai donc besoin de votre aide pour créer ce code VBA qui me facilitera grandement le travail demandé. La cerise sur le gâteau serait que même si des informations sont déjà listé, que le classeur reclasse tout seul la liste par ordre alphabétique.

En vous remerciant d’avance pour votre aide.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…