[Catégorie modifiée VB6 --> VBA] Macro VBA EXCEL recherche fichier , hyperlink ,

kwamanji Messages postés 1 Date d'inscription mardi 29 septembre 2009 Statut Membre Dernière intervention 5 octobre 2010 - 5 oct. 2010 à 12:11
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 5 oct. 2010 à 20:34
bonjour ,

en compilant plusieurs sources j'ai réussi à créer 2 boutons dont les codes sont si dessous

1 pour recherche de documents dans un répertoire par extension
2 il transforme la liste obtenue en liens hypertextes avec le chemin de la cellule


Mon besoin c'est de regrouper les 2 avec une amélioration qui est remplacer l'affichage du lien hypertexte ( chemin ) par le mot LIEN


Merci d'avance.


Private Sub CommandButton1_Click()
Selection.End(xlDown).Select
Fin = Selection.Row
For i = 3 To 500
Range("D" & i).Select
link = Range("D" & i).Value
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=link
TextToDisplay: Txt = LIEN
Next
End Sub


Private Sub CommandButton2_Click()
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = Range("G1") & ""
.SearchSubFolders = True
.Filename = Range("G2").Value
End With

With Application.FileSearch
If .Execute() > 0 Then
MsgBox .FoundFiles.Count & " Fichier(s) trouvé(s) "
Range("D3").Select
For i = 1 To .FoundFiles.Count
ActiveCell.Value = .FoundFiles(i)
ActiveCell.Offset(1, 0).Range("A1").Select
Next i
Else
MsgBox "Aucun fichier correspondant à ce critère"
End If
Range("D3").Select
End With
End Sub

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 oct. 2010 à 20:34
Salut

Tu fais du VBA, pas du VB6.
Pense à utiliser le coloriage syntaxique (3ème icone à droite) quand tu colles du code = plus facile à lire sans se torturer.

Es-tu sûr que la syntaxe suivante soit possible (pas vérifié) :
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=link
    TextToDisplay: Txt = LIEN 
A mon avis :
- il manque une virgule avant TextToDisplay
- TextToDisplay: Txt = n'est pas une syntaxe classique

Si tu dois afficher le texte LIEN (ces 4 lettres), il faut l'écrire avec des " :
monTexte = "LIEN"

Si tu as une erreur, dis nous laquelle, on est pas là pour jouer aux devinettes

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous