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
Message lors de l'arret de la macro

Impossible d'éxecuter le code en mode Arret
Avatar
MichD
Est-ce mieux avec ce fichier ? http://www.cjoint.com/c/EHzu0OndjzG
Avatar
MichD
Attention, dans le fichier que je t'ai envoyé, j'ai modifié le chemin du répertoire
dans la feuille "Parametre". Tu dois saisir celui que tu existes...

Est-ce mieux avec ce fichier ? http://www.cjoint.com/c/EHzu0OndjzG
Avatar
Mclain
MichD tu es un génie !!

Ca fonctionne presque parfaitement mais...
qd j'efface un client en B, le lien reste affiché
Qd j'ai une facture en doc et pdf, il n'affiche que le doc

du coup la macro se plante et m'indique une erreur sur cette ligne
X = elt & .Range("B" & A) & "-" & .Range("H" & A)

Si j'ai 2 factures
12345-alu.pdf et 12345.doc, il n'affiche pas la pdf
je suis pénible :(
Avatar
MichD
| qd j'efface un client en B, le lien reste affiché

A )
Cela est très surprenant. D'après quelques tests, le résultat est bon.
Quand tu effaces le contenu de la cellule B, est-ce que cette procédure s'exécute
dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Place un point d'arrêt et exécute ces quelques lignes de code manuellement en
utilisant la touche F8 à partir du point d'arrêt.

B ) Si j'ai 2 factures
La procédure n'a jamais été conçue pour 2 fichiers, pas surprenant que tu n'obtiennes qu'un fichier!

Est-ce que tu as les 2 fichiers dans le même répertoire?
Est-ce toujours un fichier Excel + un fichier Word? Est-ce possible que tu aies 2 fichiers Excel et
Word ou
Excel et Word?

Dans la fenêtre parametre, tu as indiqué 2 répertoires combien de répertoires différents peux-tu
avoir?
Est-ce qu'un fichier Word, Excel ou PDF peut se retrouver dans n'importe quel répertoire ou tu leur
attribues
toujours le même répertoire? Explique comment ton application fonctionne. J'essaierai de trouver un
peu
de temps plus tard ce soir sinon j'y regarderai de plus près demain matin. Si tu es en Europe, tu as
6 heures
d'avance...


"Mclain" a écrit dans le message de groupe de discussion :


MichD tu es un génie !!

Ca fonctionne presque parfaitement mais...
qd j'efface un client en B, le lien reste affiché
Qd j'ai une facture en doc et pdf, il n'affiche que le doc

du coup la macro se plante et m'indique une erreur sur cette ligne
X = elt & .Range("B" & A) & "-" & .Range("H" & A)

Si j'ai 2 factures
12345-alu.pdf et 12345.doc, il n'affiche pas la pdf
je suis pénible :(
Avatar
Mclain
Je vais tester demain au boulot sur le serveur.
Pour faire simple, j'ai le chemin qui me permet de sauvegarder toutes les f actures qui entrent et qui sont sauvegarder sous la forme qui lui peut chan ger d'où ma feuille parametre.

Dans ce dossier définit dans la feuille parametre, je sauvegarde les fact ures ainsi :
N°client-type_dom soit en format DOC ou pdf voir xls voir selon 2 formats .
Effectivement je peux avoir dans ce repertoire 2 factures :
12345-alu.doc et 12345-alu.pdf
"J'aimerais" que les xls soient en I, les doc en J et les xls en K (pour fi ltrer par la suite et mon analyse interne.

En tout cas, je ne peux que te remercier pour le temps passer à m'aider a insi que tout ceux et celles qui passent par ici !
A demain MichD !
Merci à toi !

Je suis en France

Mclain
Avatar
MichD
Vois ce fichier : http://www.cjoint.com/c/EHAabjziMbG

N'oublie d'adapter les répertoires de la feuille "parametre" selon ton environnement.
Avatar
Mclain
MichD tu es merveilleux !!!

Cela fonctionne nickel !
Je n'ose plus demander une amélioration

1-Si je supprime le n° client, le lien reste actif
2-Si j'ai 2 documents : un en pdf et un en DOC, il n'affiche que le DOC....

Est-il possible d'améliorer cela?

Merci merci merci MichD
Avatar
MichD
| 1-Si je supprime le n° client, le lien reste actif
**** Je te fais remarquer que les cellules ne contiennent pas un lien hypertexte,
mais seulement le texte du chemin et du fichier associé au numéro de facture.
Si un lien hypertexte existe dans les colonnes i, j ou k, tu dois d'abord supprimer
les liens hypertextes existants. Les procédures que je te propose n'en créent pas.

| 2-Si j'ai 2 documents : un en pdf et un en DOC, il n'affiche que le DOC....
**** Pour chacune des lignes, il ne peut pas y avoir plus de 2 fichiers tel que tu as défini dans ce
message :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

À partir de ce qui précède, tu devrais avoir soit un fichier Excel avec ceci :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"

ET

soit un fichier Word ou soit PDF avec ceci :
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

Nombre total de fichiers possibles par facture = 2

Si je comprends bien, tu peux avoir un fichier Excel avec ceci :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"

Et 2 autres fichiers, un Word et un PDF avec ceci :
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
et/ou
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

Est-ce cela?
Avatar
Mclain
**** Pour chacune des lignes, il ne peut pas y avoir plus de 2 fichiers tel que tu as défini dans ce
message :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

À partir de ce qui précède, tu devrais avoir soit un fichier Excel av ec ceci :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"

ET

soit un fichier Word ou soit PDF avec ceci :
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

Nombre total de fichiers possibles par facture = 2


Si je comprends bien, tu peux avoir un fichier Excel avec ceci :
$i$ =Parametres!$C$4&Facture!B2&"-"&G2&".xls"

Exactement cela : 1 fichier word et un fichier PDF parfois (facture compl émentaire)
Et 2 autres fichiers, un Word et un PDF avec ceci :
$J$ =Parametres!$C$4&Facture!B2&"-"&H2&".doc"
et/ou
$k$ =Parametres!$C$4&Facture!B2&"-"&H2&".pdf"

Est-ce cela? oui !

Et dans ce cas, le script, peut-il créer le lien hyper-texte ? Sachant qu e cela fonctionne si l'on clique doucement mais que la main ne s'affiche pa s
1 2 3 4 5