Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lien hypertexte - Contrôle d'existance du doc lié par execel

48 réponses
Avatar
Mclain
Bonjour,

Je suis entrain de faire une base donn=E9es clients via Excel.
Je stock mes donn=E9es clients dans un fichier excel et les documents annex=
es dans un autre dossier. Les factures arrivent par mail et sont stock=E9es=
dans un dossier q:\fact_clients\
Les factures sont archiv=E9es au format N=B0Client_objet.doc

Dans ma base Excel, je fais un lien (par concatenation de la colonne A : N0=
client et de la colonne N "Objet" que je mets en lien hypertexte avec ajout=
du chemin de stockage sur ce dossier q:\fact_clients\N=B0Client_objet.doc.

La question, que je me pose : est-il possible de v=E9rifier que le lien est=
actif ou non, donc de savoir si le document facture est pr=E9sent, sans av=
oir =E0 cliquer sur ce lien hypertexe qui ne s'ouvrirait pas car le fichier=
facture n'aurait pas =E9t=E9 receptionn=E9 ?

Et la je bloque !

Je ne sais pas si je suis clair...j'esp=E8re!
Merci d'avance pour vos conseils et votre aide !

Bon week end.

Mclain

10 réponses

1 2 3 4 5
Avatar
Mclain
Bon...
Et bien je vais me débrouiller autrement.
Merci qd même

Mclain
Avatar
Mclain
Ma question est en fait :
Excel peut-il vérifier que le lien hypertexte dans une cellule est toujou rs bon?

Merci d'avance

Mclain
Avatar
DanielCo
Bonsoir,
Faut quand même pas être trop pressé, on est au mois d'août. Est-ce que
tu es familier avec les macros ?
Daniel


Ma question est en fait :
Excel peut-il vérifier que le lien hypertexte dans une cellule est toujours
bon?

Merci d'avance

Mclain
Avatar
Mclain
Bonsoir DanielCo,

Je ne suis pas pressé, j'aurais juste aimé un avis.
Les macros..à peine...j'essaye de me débrouiller en cherchant à droit e et à gauche en essayant d'adapter les macros trouvées.

J'apprends comme ca en fait...
Merci déjà de t'être arrêté sur ma question !
Avatar
DanielCo
Bonjour,
Si tu concatène le chemin et le nom du fichier, tu n'obtiens pas un
lien hypertexte. Est-ce que tu utilises la fonction LIEN.HYPERTTEXTE ou
utilises-tu Insertion, Lien Hypertexte ?
Daniel


Bonsoir DanielCo,

Je ne suis pas pressé, j'aurais juste aimé un avis.
Les macros..à peine...j'essaye de me débrouiller en cherchant à droite et à
gauche en essayant d'adapter les macros trouvées.

J'apprends comme ca en fait...
Merci déjà de t'être arrêté sur ma question !
Avatar
MichD
Bonjour,

Sans utiliser les objets "Hypertexte ou Hyperlink",

Si tu as dans une colonne, la concaténation de 2 colonnes représentant le chemin et le nom du
fichier,
tu peux utiliser cette macro pour ouvrir le fichier s'il existe déjà dans ledit répertoire.

Dans le code module de la feuille où l'action se déroule, tu copies cette procédure :

Dans mon exemple, j'ai supposé que le résultat de la concaténation était dans la colonne A,
à toi d'adapter Range("A:A") par l'adresse où se retrouve les vrais données.
'--------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
For Each C In Rg
With C
If .Value <> "" Then
If Dir(C.Value) <> "" Then
ShellExecute 0, "open", C.Value, "", "", 0
End If
End If
End With
Next
End If
End Sub
'--------------------------------------------------------


Et dans le haut d'un module standard, tu dois insérer la déclaration de cette API de Windows :
'---------------------------------------------------------
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'---------------------------------------------------------
Avatar
Mclain
Bonsoir,
J'utilise la fonction lien.hypertexte...suis à la concaténation de cell ules pour constituer mon lien...

Je vais tester !

Un grand merci à vous DanielCO et MichD !!
Je reviens vous dire très vite !

Merci
Avatar
MichD
| J'utilise la fonction lien.hypertexte...suis à la concaténation de cellules pour constituer mon
lien...

L'utilisation de la fonction "Lien.Hypertexte" crée un lien hypertexte dans la cellule.
Cependant, la formule ne te dit pas si le fichier existe vraiment dans le répertoire et
par conséquent, lorsque tu cliqueras sur le lien, une fenêtre s'ouvrira pour te dire qu'elle
ne trouve pas le fichier...Il me semble que ta question voulait justement éviter l'ouverture
d'une telle fenêtre!
Avatar
Mclain
Bonjour,

Oui je veux éviter le message d'erreur à la non ouverture du lien hyper texte. Existe-il un possibilité dans ce cas, de colorer en vert la cellul e dont le lien hypertexte est vérifié en étant ok, et en rouge celle dont le lien est vérifié est ko ?

Merci
Avatar
DanielCo
Bonjour,

Essaie la macro suuivante :
Sub Verif()
Dim C As Range, Fich As String
For Each C In Range("A1", Cells(Rows.Count, 1).End(xlUp))
If C.Value <> "" Then
Fich = Dir(C.Value & "" & C.Offset(, 1).Value)
If Fich <> "" Then
C.Offset(, 2).Interior.ColorIndex = 43
Else
C.Offset(, 2).Interior.ColorIndex = 3
End If
End If
Next C
End Sub

Le classeur exempple est là : http://www.cjoint.com/c/EHmh4WFE2lv
Cordialement.
Daniel

Mclain a utilisé son clavier pour écrire :
Bonjour,

Oui je veux éviter le message d'erreur à la non ouverture du lien hypertexte.
Existe-il un possibilité dans ce cas, de colorer en vert la cellule dont le
lien hypertexte est vérifié en étant ok, et en rouge celle dont le lien est
vérifié est ko ?

Merci
1 2 3 4 5