problème d'affichage de formule

pepevand

XLDnaute Nouveau
J'ai créée une macro qui inscrit une formule dans certaines cellules (je ne peux pas inscrire directement la valeur, car celle ci doit se mettre à jour à l'ouverture du fichier et je ne peux pas faire cette mise à jour par une macro à l'ouverture, problème de sécurité oblige)

J'ai donc utilisé la formule suivante:
Cells(i, lien_hyp).Formula = '=Lien_hypertexte('essai.xls';'essai')'

La formule est correcte, mais le probléme c'est que dans la cellule s'affiche la formule et non le lien hypertexte.

J'ai bien essayé de changer le format de ma cellule, standard au lieu de texte via la formule suivante:
Cells(i, lien_hyp).NumberFormat = 'General'

mais l'affiche devient correcte uniquement si je double-clique sur ma cellule.

Je travaille sur plus de 30000 lignes, je ne me vois donc pas cliquer sur chacune d'entre elles!!!

Si quelqu'un a une idée, je le remercie par avance.
 
P

pepevand

Guest
Je ne peux te donner que la procédure qui créée les liens hypertextes, le reste étant confidentiel (désolé c'est tout ce que je peux faire)


Sub lien(nbr_ligne, nbr_colonne, rel, item_id, code, reference)
'nbr_ligne est le nombre de ligne renseignée de la feuille
'nbr_colonne est le nombre de colonne renseignée de la feuille
'rel, item_id, code et refrence sont les numèros des colonnes sur lesquelles
'on travaille


'Création de deux nouvelles colonnes qui contiendront:
'le nom du fichier excel vers qui on veut faire un lien hypertexte
'le lien en lui même

Range(Columns(item_id + 1), Columns(item_id + 2)).Select
Selection.Insert Shift:=xlToRight

Columns(rel).Select
Selection.EntireColumn.Hidden = True
Columns(item_id).Select
Selection.EntireColumn.Hidden = True

nom = item_id + 1
lien_hyp = item_id + 2
Cells(1, nom) = 'Nom de fichier'
Cells(1, lien_hyp) = 'Lien Hypertexte'

'En fait le lien ne sera créèr que sur les lignes en rose (couleur 7)

For i = 2 To nbr_ligne
If Rows(i).Interior.ColorIndex = 7 Then
Cells(i, nom).Value = Cells(i, code).Value & '_' & Cells(i, reference).Value & '_' & '-' & '.xls'
fichier = '''' & Sheets('Feuil1').Cells(1, 1).Value & '\\' & Cells(i, nom).Value & ''''
nom_lien = '''' & Cells(i, nom).Value & ''''
Cells(i, lien_hyp).Formula = '=lien_hypertexte(' & fichier & ';' & nom_lien & ')'
Cells(i, lien_hyp).NumberFormat = 'General'
Cells(i, lien_hyp).Select
End If
Next i
Columns(nom).Select
Selection.EntireColumn.Hidden = True
End Sub
 

Minick

XLDnaute Impliqué
re,

inverse ces 2 lignes
Code:
 Cells(i, lien_hyp).Formula = '=lien_hypertexte(' & fichier & ';' & nom_lien & ')'
Cells(i, lien_hyp).NumberFormat = 'General'

comme ceci en changeant 'lien_hypertexte' en 'HYPERLYNK'
Code:
 Cells(i, lien_hyp).NumberFormat = 'General'
Cells(i, lien_hyp).Formula = '=HYPERLYNK(' & fichier & ';' & nom_lien & ')'


Il faut mettre le format avant la formule sinon tu es obligé de valider ta formule

@+
 

pepevand

XLDnaute Nouveau
J'avais mis la ligne Cells(i, lien_hyp).NumberFormat = 'General'
aprés car en la mettant avant l'affectation de la cellule ça ne marche pas, j'ai l'erreur suivante:

Erreur d'éxécution 1004

Erreur définie par l'application ou par l'objet.

J'ai même essayé d'appliquer ce format à toute la colonne avant d'affecter les cellules, et j'ai la même erreur.
 

Minick

XLDnaute Impliqué
re,

Eh ben, je seche la, j'ai essayé tout les cas que tu donnes et pas de probleme chez moi.

Il faudrait vraiment un exemple.
Peut etre peux tu changer tes données afin de ne pas diffuser de données confidentielles.

Si tu veux je te donne ma bal, je mettrai les eventuelles corrections ici
sans joindre de fichier

à toi de voir

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 482
Messages
2 088 765
Membres
103 954
dernier inscrit
SirJah