Couleur du lien apres ouverture

Bonjour,

Est ce possible des que l'on ouvre un lien vers un PDF de changer la couleur du texte ?

Cordialement

Bonjour

De base les liens changent automatiquement de couleur après ouverture du lien : bleu foncé avant et violacé après

Merci pour votre reponse mais je voudrais des que l'on ouvre le fichier le deplacer d'un dossier a un autre et le marquer en colonne B

Merci

6commande.xlsx (8.73 Ko)

Bonjour Truc33

Il y a un illogisme dans votre demande

Si vous ouvrez le fichier PDF il sera en lecture seul il sera donc impossible à déplacer

A+

effectivement mais est ce qu'on peut arriver a connaitre en VBA si le fichier a eté ouvert (en plus du changement de couleur du lien ) ?

a+

Bonjour

Des incohérences :

- le fichier présenté ne comporte aucun lien pdf,

- le fichier présenté comporte des colonnes A:date de commande reçue, B: date commande en cours, C: date de commande terminée.???

Comment changer la couleur ou la position d'un fichier pdf alors que l'on ne trouve pas de lien?

Comment associer une commande et un fichier pdf?

Difficile de détecter lorsqu'un fichier est accédé sauf sur un serveur Windows ou en scrutant les dates d'accès aux fichiers

SUGGESTION HASARDEUSE : regardez si l'utilisation de la propriété DateLastAccessed de l'objet FileSystemObject répond à votre problème?

Sur le fichier j'ai supprimé le lien car le lien vise sur mon pc.

Le fichier qui est en commande reçu est crée lorsque je valide une commande cela me crée un fichier PDF dans un dossier avec un lien.

Part la suite je voudrais trouver une solution pour dire que la commande a été pris en compte est après qu'elle est terminée.

a+

Bonjour le fil,

Pour moi, mieux vaut utiliser un bouton pour ouvrir le fichier de commande (donc pas de lien ou en commentaire)

Ce qui permet de dire s'il a été traiter ou non

A+

ok merci mais comment faire car je peux avoir plusieurs ligne en colonne A

Re,

Pour donner un code correcte, il nous faudrait le fichier sans donnée, juste les entêtes de colonnes

A+

Je vous joint le fichier

merci

10commande.xlsx (8.77 Ko)

Re

Ca c'est du tableau (3 colonnes)

Quel est l'intérêt de votre demande du coup

A+

J'ai réussi a avancer un peu, comment je peux en VBA récupère le nom des fichiers d'un dossier avec leur date de creation.

Merci

Re,

C'est tout simplement impossible car risque de doublon

A+

Bonjour

Merci pour la réponse.

Je cherche a renseigner la colonne C de la feuille1 avec la date de création du fichier.

Dim Rep1 As String, Fichiertermine As String
Dim ii As Integer

Worksheets("feuille2").Range("B2:B50").ClearContents

Rep1 = "C:\test\"
Fichiertermine = Dir(Rep1)
ii = 1
Do While Fichiertermine <> ""
ii = ii + 1
Sheets("Suivi_commande").Range("B" & ii) = Fichiertermine

Fichiertermine = Dir
Loop
End Sub

Cordialement

Bonjour,

je suis resté à ta 1ère demande.
On peut intercepter le clic sur un lien.
Ici j'affiche qq infos sur le lien et avec une autre boite de dialogue tu peux choisir l'état de la commande et changer la couleur en fonction.

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim rep As Long, comm As String
    ' affichage infos :
    MsgBox "Le lien en " & Target.Range.Address & " a été cliqué :" & vbLf _
        & "Texte affiché : " & Target.TextToDisplay & vbLf _
        & "Fichier : " & Target.Address

    ' exemple d'utilisation :
    rep = MsgBox("Oui : Terminée - Non : En cours", vbYesNoCancel, "Etat commande")
    Select Case rep
        Case vbYes
            Target.Range.Interior.Color = vbGreen ' terminée
        Case vbNo
            Target.Range.Interior.Color = vbYellow ' en cours
   End Select
End Sub

eric

15commande.xlsm (57.31 Ko)

Bonjour Truc33, Le Forum,

Ci-dessous exemple fait de liens d'une feuille 1 vers des cellules cibles de la feuille 2 du même classeur. Pour tester la procédure.

A adapter selon commentaires laissés et besoins propres. Chemins et fichiers personnels.

Première macro dans la partie code de la feuille comportant les liens.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Le double clic sur la colonne à droite (soit En Cours, soit Terminé) d'un lien Hypertexte déjà placé modifie ce lien.
'Et permet de cibler une autre cellule de la feuille 2. Le test est à réaliser de la feuille 1 qui contient le lien vers feuille 2.
'Puis ensuite à modifier et à adapter pour un chemin de lien différent
'Ici "A5" est indiqué à la place du répertoire Downloads
'et "D5" à la place du répertoire Pictures. "H5" à la place du répertoire Music. Voir ensuite la macro Deplace
Dim Str As String
'La colonne En Cours est la colonne J soit 10, la colonne Terminé est K soit 11
'La colonne H, soit 8 contient le nom du fichier et la colonne 9 l'Hyperlien
Select Case Target.Column
Case 10 'Ou tout autre colonne d'En Cours
If Target.Offset(, -1).Hyperlinks.Count = 1 Then Str = Target.Offset(, -1).Hyperlinks(1).SubAddress
Target.Offset(, -1).Hyperlinks(1).SubAddress = Replace(Str, "A5", "D5")
Range(Target.Offset(, -1).Address, Target.Address).Merge
Application.EnableEvents = False
ActiveCell.Offset(, -1).Interior.Color = vbYellow
ActiveCell.Offset(, -1).HorizontalAlignment = xlCenter
Application.EnableEvents = True
ActiveCell.Offset(, -2).Select
'Changement de répertoire par le Call Deplace(N°)
'Ôter le commentaire du Call lorsque les "A5", "D5" et "H5" seront remplacés par les bons répertoires
'Call Deplace(1)
Case 11 'Ou tout autre colonne Terminé
If Target.Offset(, -2).Hyperlinks.Count = 1 Then Str = Target.Offset(, -2).Hyperlinks(1).SubAddress
Target.Offset(, -2).Hyperlinks(1).SubAddress = Replace(Str, "D5", "H5")
Range(Target.Offset(, -2).Address, Target.Address).Merge
Application.EnableEvents = False
ActiveCell.Offset(, -2).Interior.Color = vbGreen
ActiveCell.Offset(, -2).HorizontalAlignment = xlCenter
Application.EnableEvents = True
ActiveCell.Offset(, -3).Select
'Changement de répertoire par le Call Deplace(N°)
'Ôter le commentaire du Call lorsque les "A5", "D5" et "H5" seront remplacés par les bons répertoires
'Call Deplace(2)
End Select
End Sub

Deuxième macro en partie module. Afin de déplacer le fichier. Evidemment celui-ci ne doit pas être ouvert, lors du double-clic.

Sub Deplace(F As Integer)
'Selon l'emplacement actuel du fichier (cas 1 ou 2) le fichier sera déplacé sur le répertoire destiné
'Donc ici pour exemple de Downloads à Pictures (cas En cours)puis ensuite de Pictures à Music (cas Terminé)
Set fs = CreateObject("scripting.FileSystemObject")
Fich = ActiveCell.Value
Cible = IIf(F = 1, "C:\Users\Untel\Downloads\" & Fich, "C:\Users\Untel\Pictures\" & Fich)
If Dir(Cible) > "" Then
Choix = IIf(F = 1, "C:\Users\Untel\Pictures\" & Fich, "C:\Users\Untel\Music\" & Fich)
Set oFile = fs.GetFile(Cible)
oFile.Move Choix
Else: MsgBox "Fichier non trouvé", vbCritical
End If
End Sub

Ci dessous image présentant les trois liens selon les Hypothèses. Le texte SuivreCeFichier (textToDisplay) du lien à personnaliser.

acces
Rechercher des sujets similaires à "couleur lien ouverture"