lien hypertexte vba auto

  • Initiateur de la discussion Initiateur de la discussion ouf746
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

O

ouf746

Guest
bonjour !

moi je voudrais crée un bouton qui permet de générer les lien automatiquement sauf que j'ai envi que la macro cherche dans plusieurs répertoire windows indique si le nom indiquer dans excel figue dans le répertoire alors lui affecter le lien sinon mettre la casse en rouge pour avertir qu'il ne la pas trouver
 
Bonsoir à tous

ouf746 (bienvenue sur le forum)
Je vois que tu as enfin trouvé le bon bouton 😉

Avec un petit fichier exemple, on y verrait plus clair, non ?
Tu veux que ta macro cherche quoi et dans quels répertoires ?

Tu veux dire que ton fichier Excel tu as une liste de noms de fichiers qui existent sur ton disque dur ?

Bref plus de détails, et un fichier exemple simplifié nous aiderait grandement à t'aider 😉
 
ahah oui enfin .. je vais justement écrire au webmaster pour lui dire que c'est une galère pour ouvrir une discussion lol ..

voici le fichier excel ...jai une colonne gamme : dans cette colonne il y'a des numéro qui corresponde a des fichiers .gif avec même nom que la cellule de la colonne ...

j'aimerai que une fois appuyer sur le bouton 'générer les liens ' la macro va chercher dans plusiseur dossier et me met le lien hypertexte sur la cellule concernes....si la macro ne trouve pas le fichier dans les different dossier windows alors il me met la cellule en rouge pour me prévenir ...
 

Pièces jointes

Re

Essaies cette première ébauche
VB:
Sub a()
Dim i As Long
Dim strPath As String
'ici mettre le chemin du dossier contenant les gif
strPath = "C:\TEMP\"
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Dir(strPath & Cells(i, 1).Text & ".gif") <> "" Then
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:=strPath & Cells(i, 1).Text & ".gif", TextToDisplay:=Cells(i, 1)
Else
Cells(i, 1).Font.Bold = True
Cells(i, 1).Interior.Color = 255
End If
Next
End Sub
 
Dernière édition:
j'ai trouver l'erreur au lieu de C:\Users\admin\Desktop\TEST\GAMME\313\ faut mettre C:\Users\admin\Desktop\TEST\GAMME\313

par contre sa ne me crée pas le lien pour un gif qui porte le même nom que la cellule A2 ... sa me met en rouge donc qu'il a pas trouver le fichier
 
Re

Et comme ca?
(test OK sur mon PC)
VB:
Sub b()
Dim i As Long
Dim strPath As String
Dim F As Worksheet: Set F = ActiveSheet
'ici mettre le chemin du dossier contenant les gif
strPath = "C:\TEMP\" ' chez moi je garde le \ final
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Dir(strPath & Cells(i, 1).Text & ".gif") <> "" Then
F.Hyperlinks.Add Anchor:=F.Cells(i, 1), Address:=F.Cells(i, 1).Value, TextToDisplay:=F.Cells(i, 1).Value
Else
F.Cells(i, 1).Font.Bold = True
F.Cells(i, 1).Interior.Color = 255
End If
Next
End Sub
 
bonjour,

parfait sa me surligne bien la réf parcontre le lien hypertexte n'est pas bon sa me balance sur le bureau et non sur adresse voulu : J:\PROG. ISO MODIF\01-GAMME\313\
Autre chose la casse reste en rouge meme si la macro retrouve le fichier dans mon dossier.

et dernier point je voudrais mettre plusieur chemain du genre : J:\PROG. ISO MODIF\01-GAMME\313\
J:\PROG. ISO MODIF\01-GAMME\314\
J:\PROG. ISO MODIF\01-GAMME\315\

De facon a que le programme cherche dans plusieur fichier et me met le lien coorespondant si il ne trouve pas dans plusieur lien alors il me met la case enj rouge.

merci
 
Sub b()
Dim i As Long
Dim strPath As String
Dim F As Worksheet: Set F = Sheets("Base de données")
'ici mettre le chemin du dossier contenant les gif

strPath = " J:\PROG. ISO MODIF\01-GAMME\313\"


For i = 2 To Cells(Rows.Count, 6).End(xlUp).Row
If Dir(strPath & Cells(i, 6).Text & ".gif") <> "" Then
F.Hyperlinks.Add Anchor:=F.Cells(i, 6), Address:=strPath & F.Cells(i, 6) & ".gif", TextToDisplay:=F.Cells(i, 6).Value



F.Cells(i, 6).Font.Bold = True
F.Cells(i, 6).Interior.Color = RGB(174, 240, 194)



Else
F.Cells(i, 6).Font.Bold = False
F.Cells(i, 6).Interior.Color = 255
End If

Next

End Sub






se code marche parcontre je narrive pas a ajouter plusieur dossier la fonction if then else end if ne fonctionne pas .
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

O
  • Résolu(e)
Microsoft 365 Lien hypertexte
Réponses
21
Affichages
2 K
L
Réponses
1
Affichages
1 K
L
M
Réponses
0
Affichages
929
Maad84
M
C
  • Question Question
Réponses
1
Affichages
1 K
F
  • Question Question
Réponses
11
Affichages
1 K
H
  • Question Question
Réponses
4
Affichages
1 K
HaggarduNord
H
Réponses
2
Affichages
2 K
E
Réponses
10
Affichages
5 K
E
A
  • Question Question
Réponses
4
Affichages
2 K
Retour