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

Le
Mclain
Bonjour,

Je suis entrain de faire une base données clients via Excel.
Je stock mes données clients dans un fichier excel et les documents annex=
es dans un autre dossier. Les factures arrivent par mail et sont stockées=
dans un dossier q:fact_clients
Les factures sont archivées au format N°Client_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_clientsN°Client_objet.doc.

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

Et la je bloque !

Je ne sais pas si je suis clairj'espère!
Merci d'avance pour vos conseils et votre aide !

Bon week end.

Mclain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 5
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mclain
Le #26362993
Bon...
Et bien je vais me débrouiller autrement.
Merci qd même

Mclain
Mclain
Le #26362995
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
DanielCo
Le #26362996
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
Mclain
Le #26362998
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 !
DanielCo
Le #26363018
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 !
MichD
Le #26363043
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
'---------------------------------------------------------
Mclain
Le #26363074
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
MichD
Le #26363078
| 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!
Mclain
Le #26363168
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
DanielCo
Le #26363180
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
Publicité
Poster une réponse
Anonyme