Transf formule appelant une donnée en un lien hypertexte

Bonjour à tous,

Nouveau sur le forum, j'ai une question dont je n'ai trouvé la réponse :

J'ai plusieurs formulaires (1 par feuille) dans un fichier Excel 2007 FR.

Les cellules où se trouvent les données ne forment pas un tableau uniforme et sont réparties entre textes, colonnes explicatives...

J'ai rajouté une feuille pour faire la synthèse de toute les données de ces différentes feuilles sources, cette fois sous forme de tableau :

Colonne = tous mes champs de mes formalaires

Lignes = 1 par formulaire

Au total, j'ai 190 colonnes (champs) x 45 lignes (formulaires), soit plus de 8400 cellules avec des données reportées dans ce tableau de synthèse.

Dans ce tableau de synthèse, chaque cellule appelle l'une des donnée de l'un des formulaire : A1=Feuille1CelluleB3 (par exemple)

je souhaiterai créer un lien hypertexte sur chaque cellule de ma feuille de synthèse pour qu'en cliquant sur une cellule de cette feuille de synthèse, cela pointe sur la ligne de la feuille "source" pour la donnée concernée.

Je ne veux pas faire de Tableau croisé dynamique car les personnes qui vont consulter le fichier ne sauront pas l'utiliser et je voudrais éviter les macro (si possible).

Je sais comment faire un lien hypertexte pour une cellule et aussi utiliser la formule LIEN_HYPERTEXTE mais je n'ai pas trouvé comment faire cela en masse, pour les 8400 cellules de mon tableau de synthèse d'un coup

L'idée serait donc de pouvoir créer en un seul coup un lien hypertexte pour chaque cellule du tableau de synthèse, dont l'adresse de la cellule source se trouve dans la formule de la cellule de cette feuille de synthèse (ex ci-dessus : A1=Feuille1CelluleB3)

Je ne peux joindre mon fichier qui contient des données de salariés (question de confidentialité) mais s'il le faut, je peux faire un mini fichier exemple avec les même caractéristiques.

Merci d'avance pour vos bonnes idées

Bruno

bonjour et bienvenu !!

même si tu ne veux pas de macro je pense qu'il est nécessaire d'en faire une pour traiter toutes tes cellules.

cela dit une fois tous les lien hypertexte créés tu n'es pas obligé de conservé la macro dans ton fichier....

essaye de fournir un mini fichier anonyme pour voir ce que l'on peut faire

fred

Bonjour et merci pour ta réponse Fred,

je viens de faire un fichier similaire à ce que j'ai en réel et je le joint à ce post.

Il s'agit d'un fichier de données de ressources humaines.

Précision : Dans la réalité, il y a beaucoup de données dans le formulaire type dont certaines sont uniques (exemple: nombre d'heures de formation dans l'année) et d'autres sont sous forme de tableau, comme l'exemple dans le ficher (exemple: effectif par tranche d'âge et type de contrat de travail). Les formulaires sont identiques d'un site à l'autre. Juste pour dire que dans mon fichier réel, j'ai fait la manip suivante pour chaque donnée à reporter dans mon tableau de synthèse :

- dans une cellule de mon fichier de synthèse :

-> formule "=FeuilleB!C12" pour la donnée 1

puis

-> formule "=FeuilleB!D20 pour la donnée 2

etc... par exemple

donc finalement, dans chaque cellule de ma synthèse se trouve une formule qui localise la donnée source.

Je précise que si on passe par une macro que je peux retirer ensuite, ça peut le faire

Merci d'avance !

Bruno

25test-effectifs.xlsx (18.32 Ko)

Bonjour

voici donc une proposition a lancer a partir de ton fichier excel

zone a adapter en conséquence

fred

Sub lien_hypert()
Dim tabl As Range
Dim cell As Range
Dim texte$
Set tabl = Range("C6:R20") ' a adapter en conséquence
For Each cell In tabl
    texte = cell.Formula
    texte = Right(texte, Len(texte) - 1)
    cell.Formula = "=HYPERLINK(""#" & texte & """," & texte & ")"
Next cell
End Sub

Bonjour Fred,

Merci pour ta "formule" !

Je vais tenter ma chance avec elle et te tient au courant dés que j'ai le résultat pour te le communiquer.

Bruno

Rebonjour Fred,

j'ai une erreur dans le code semble-t-il.

J'ai fait le test sur mon fichier test-effectifs et j'ai donc cette erreur (capture d'écran ci-joint).

Une solution docteut ?

Bruno

test macro

Arf... c'est du fait qu'il y a déjà un lien dans la cellule C6....

essaye ceci

Sub lien_hypert()
Dim tabl As Range
Dim cell As Range
Dim texte$
On Error Resume Next

Set tabl = Range("C6:R20") ' a adapter en conséquence
For Each cell In tabl
    texte = cell.Formula
    texte = Right(texte, Len(texte) - 1)
    cell.Formula = "=HYPERLINK(""#" & texte & """," & texte & ")"
Next cell
End Sub

fred

Alors là, chapeau bas Monsieur Fred !

ça marche !!! sur le fichier test + sur le fichier réel après adaptation des cellules dans la macro !

je n'y connais rien en programmation de macros excel mais je me doutais que cela était possible. Cependant, j'ai cherché longtemps dans les forum et visiblement, personne n'avais jamais eu besoin de cette fonctionnalité.

Je vais garder précieusement cette macro car je suis convaincu qu'elle me sera encore utile.

Merci mille fois pour ton aide !

Bruno

dans ce cas

merci

fred

Je cherchais justement le bouton de clôture du sujet.

Merci Fred !

Rechercher des sujets similaires à "transf formule appelant donnee lien hypertexte"