OVH Cloud OVH Cloud

Chaîne de caractères en hyperlien

8 réponses
Avatar
Horace Rochat
Bonjour,
Je voudrais =E9crire une macro telle que:
pour chaque cellule d'une colonne donn=E9 X=20

1- elle lit le contenu de la cellule: appelons la=20
variable c
2- elle lit le nom de la feuille du classeur; appelons la=20
variable n
3- elle =E9crit dans la cellule donn=E9e un hyperlien qui est=20
une cha=EEne de caract=E8res constitu=E9e par "Du texte" & n & c
Encore merci de vos efforts altruistes
Horace Rochat

8 réponses

Avatar
Philippe.R
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat" a écrit dans le message de
news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons la
variable c
2- elle lit le nom de la feuille du classeur; appelons la
variable n
3- elle écrit dans la cellule donnée un hyperlien qui est
une chaîne de caractères constituée par "Du texte" & n & c
Encore merci de vos efforts altruistes
Horace Rochat
Avatar
Horace Rochat
Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se passe
rien.
Je dois préciser que j'ai peut-être mal expliqué le point
3: je désire que la cellule affiche toujours le même
contenu qu'au départ, mais je voudrais qu'il lui soit
associé un hyperlien qui serait "Du texte" & n & c

Cette macro s'appliquerait à toutes les cellules non
vides d'une colonne donnée à l'exclusion des autres
colonnes.

Merci à tous les bénévoles
Horace Rochat


-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat" a
écrit dans le message de

news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons la
variable c
2- elle lit le nom de la feuille du classeur; appelons la
variable n
3- elle écrit dans la cellule donnée un hyperlien qui est
une chaîne de caractères constituée par "Du texte" & n &
c

Encore merci de vos efforts altruistes
Horace Rochat


.



Avatar
isabelle
bonjour Horace,

si l'adresse hyperlink se trouve dans le classeur :

For Each cellule In Range("A1:A" & Range("A65536").End(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range(cellule.Address), Address:="",
SubAddress:= _
"Feuil2!" & n & c, TextToDisplay:Îllule
Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se passe
rien.
Je dois préciser que j'ai peut-être mal expliqué le point
3: je désire que la cellule affiche toujours le même
contenu qu'au départ, mais je voudrais qu'il lui soit
associé un hyperlien qui serait "Du texte" & n & c

Cette macro s'appliquerait à toutes les cellules non
vides d'une colonne donnée à l'exclusion des autres
colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat" a
écrit dans le message de

news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons la
variable c
2- elle lit le nom de la feuille du classeur; appelons la
variable n
3- elle écrit dans la cellule donnée un hyperlien qui est
une chaîne de caractères constituée par "Du texte" & n &
c

Encore merci de vos efforts altruistes
Horace Rochat


.





Avatar
isabelle
bonjour Horace,

si j'ai bien compris, l'adresse serait du genre
"F:Archiveszazaphoto.jpg"
le nom de la feuille active : zaza
le contenu de chaque cellule de la colonne A étant le nom des fichiers
image comme : photo.jpg

For Each cellule In Range("A1:A" & Range("A65536").End(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range(cellule.Address), Address:= _
"C:Documents and SettingsAdministrateur" & ActiveSheet.Name & "" &
cellule & "", _
TextToDisplay:="" & cellule
Next

si les noms de fichiers image ne sont pas écrit avec l'extention, il
faudrait modifier comme :

For Each cellule In Range("A1:A" & Range("A65536").End(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range(cellule.Address), Address:= _
"C:Documents and SettingsAdministrateur" & ActiveSheet.Name & "" &
cellule & ".jpg", _
TextToDisplay:="" & cellule
Next

isabelle



Bonjour,

Je n'ai pas bien compris le dernier message (vous avez
bien constaté que je suis néophyte).
L'adresse est celle que l'on ajouterait manuellement en
faisant Ctrl-K et que l'on écrit dans la
fenêtre "Adresse". Mais comme il y en a beaucoup
j'aimerais qu'une macro le prenne en charge.
Le lien est vers un fichier qui se trouve dans un
répertoire; il s'agit d'une photo. En cliquant sur le
lien, ça permet de visualiser la photo.

L'adresse hyperlien de chaque cellule de la colonne doit
être formée de la chaîne constituée par :

du texte qui pourrait être "F:Archives"
& le nom de la Feuille active
& "encore du texte" qui pourrait être ""
& le contenu de la cellule (qui équivaut au nom du
fichier de la photo)

La macro doit se faire sur la seule colonne de la cellule
active

Quelle serait la macro?
Merci,
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si l'adresse hyperlink se trouve dans le classeur :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:="",

SubAddress:= _
"Feuil2!" & n & c, TextToDisplay:Îllule
Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se passe
rien.
Je dois préciser que j'ai peut-être mal expliqué le
point


3: je désire que la cellule affiche toujours le même
contenu qu'au départ, mais je voudrais qu'il lui soit
associé un hyperlien qui serait "Du texte" & n & c

Cette macro s'appliquerait à toutes les cellules non
vides d'une colonne donnée à l'exclusion des autres
colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat"
a



écrit dans le message de
news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons la
variable c
2- elle lit le nom de la feuille du classeur;
appelons la



variable n
3- elle écrit dans la cellule donnée un hyperlien qui
est



une chaîne de caractères constituée par "Du texte" &
n &



c
Encore merci de vos efforts altruistes
Horace Rochat


.

.









Avatar
isabelle
bonjour Horace,

pour ça modifie la ligne :

For Each cellule In Range("A1:A" & Range("A65536").End(xlUp).Row)

par

colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells(65536,
colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage

isabelle


Bonjour,
On y est presque. Je vois que ça fonctionne très bien.
Il y avait cependant une contrainte supplémentaire: je
voulais que la macro s'applique non pas à la première
colonne systématiquement mais à celle où se trouve la
cellule active (j'ai plusieurs feuilles et la colonne des
hyperliens est différente selon les feuilles).
Merci de votre patience.
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si j'ai bien compris, l'adresse serait du genre
"F:Archiveszazaphoto.jpg"
le nom de la feuille active : zaza
le contenu de chaque cellule de la colonne A étant le
nom des fichiers

image comme : photo.jpg

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & "", _
TextToDisplay:="" & cellule
Next

si les noms de fichiers image ne sont pas écrit avec
l'extention, il

faudrait modifier comme :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & ".jpg", _
TextToDisplay:="" & cellule
Next

isabelle



Bonjour,

Je n'ai pas bien compris le dernier message (vous avez
bien constaté que je suis néophyte).
L'adresse est celle que l'on ajouterait manuellement en
faisant Ctrl-K et que l'on écrit dans la
fenêtre "Adresse". Mais comme il y en a beaucoup
j'aimerais qu'une macro le prenne en charge.
Le lien est vers un fichier qui se trouve dans un
répertoire; il s'agit d'une photo. En cliquant sur le
lien, ça permet de visualiser la photo.

L'adresse hyperlien de chaque cellule de la colonne
doit


être formée de la chaîne constituée par :

du texte qui pourrait être "F:Archives"
& le nom de la Feuille active
& "encore du texte" qui pourrait être ""
& le contenu de la cellule (qui équivaut au nom du
fichier de la photo)

La macro doit se faire sur la seule colonne de la
cellule


active

Quelle serait la macro?
Merci,
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si l'adresse hyperlink se trouve dans le classeur :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:="",

SubAddress:= _
"Feuil2!" & n & c, TextToDisplay:Îllule
Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se
passe




rien.
Je dois préciser que j'ai peut-être mal expliqué le
point


3: je désire que la cellule affiche toujours le
même




contenu qu'au départ, mais je voudrais qu'il lui
soit




associé un hyperlien qui serait "Du texte" & n & c

Cette macro s'appliquerait à toutes les cellules non
vides d'une colonne donnée à l'exclusion des autres
colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :


news://msnews.microsoft.com/microsoft.public.fr.excel



(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat"






a
écrit dans le message de
news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons la
variable c
2- elle lit le nom de la feuille du classeur;
appelons la



variable n
3- elle écrit dans la cellule donnée un hyperlien
qui





est
une chaîne de caractères constituée par "Du texte"
&





n &
c
Encore merci de vos efforts altruistes
Horace Rochat


.

.



.











Avatar
Horace Rochat
Bonjour Isabelle,

La macro ressemble à ça:

Sub hyperliens()
colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536, colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _
"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" & cellule & ".jpg", _
TextToDisplay:="" & cellule
Next
End Sub

J'ai placé le curseur sur différentes cellules de la
colonne visée (la première, la dernière, une
quelconque). Ça bloque systématiquement à la ligne:
Set plage=..... Select
Merci de vous obstiner
Horace Rochat

-----Message d'origine-----
bonjour Horace,

pour ça modifie la ligne :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)


par

colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536,

colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage

isabelle


Bonjour,
On y est presque. Je vois que ça fonctionne très bien.
Il y avait cependant une contrainte supplémentaire: je
voulais que la macro s'applique non pas à la première
colonne systématiquement mais à celle où se trouve la
cellule active (j'ai plusieurs feuilles et la colonne
des


hyperliens est différente selon les feuilles).
Merci de votre patience.
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si j'ai bien compris, l'adresse serait du genre
"F:Archiveszazaphoto.jpg"
le nom de la feuille active : zaza
le contenu de chaque cellule de la colonne A étant le
nom des fichiers

image comme : photo.jpg

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & "", _
TextToDisplay:="" & cellule
Next

si les noms de fichiers image ne sont pas écrit avec
l'extention, il

faudrait modifier comme :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & ".jpg", _
TextToDisplay:="" & cellule
Next

isabelle



Bonjour,

Je n'ai pas bien compris le dernier message (vous
avez




bien constaté que je suis néophyte).
L'adresse est celle que l'on ajouterait
manuellement en




faisant Ctrl-K et que l'on écrit dans la
fenêtre "Adresse". Mais comme il y en a beaucoup
j'aimerais qu'une macro le prenne en charge.
Le lien est vers un fichier qui se trouve dans un
répertoire; il s'agit d'une photo. En cliquant sur
le




lien, ça permet de visualiser la photo.

L'adresse hyperlien de chaque cellule de la colonne
doit


être formée de la chaîne constituée par :

du texte qui pourrait être "F:Archives"
& le nom de la Feuille active
& "encore du texte" qui pourrait être ""
& le contenu de la cellule (qui équivaut au nom du
fichier de la photo)

La macro doit se faire sur la seule colonne de la
cellule


active

Quelle serait la macro?
Merci,
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si l'adresse hyperlink se trouve dans le classeur :

For Each cellule In Range("A1:A" & Range
("A65536").End





(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:="",

SubAddress:= _
"Feuil2!" & n & c, TextToDisplay:Îllule
Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se
passe




rien.
Je dois préciser que j'ai peut-être mal expliqué
le






point
3: je désire que la cellule affiche toujours le
même




contenu qu'au départ, mais je voudrais qu'il lui
soit




associé un hyperlien qui serait "Du texte" & n &
c







Cette macro s'appliquerait à toutes les cellules
non






vides d'une colonne donnée à l'exclusion des
autres






colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :


news://msnews.microsoft.com/microsoft.public.fr.excel



(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat"






a
écrit dans le message de
news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons
la







variable c
2- elle lit le nom de la feuille du classeur;
appelons la



variable n
3- elle écrit dans la cellule donnée un
hyperlien







qui
est
une chaîne de caractères constituée par "Du
texte"







&
n &
c
Encore merci de vos efforts altruistes
Horace Rochat


.

.



.



.











Avatar
isabelle
oup's j'ai laissé un .select en trop ( c'était pour faire un test )
il faut l'enlever.
isabelle


Bonjour Isabelle,

La macro ressemble à ça:

Sub hyperliens()
colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536, colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _
"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" & cellule & ".jpg", _
TextToDisplay:="" & cellule
Next
End Sub

J'ai placé le curseur sur différentes cellules de la
colonne visée (la première, la dernière, une
quelconque). Ça bloque systématiquement à la ligne:
Set plage=..... Select
Merci de vous obstiner
Horace Rochat

-----Message d'origine-----
bonjour Horace,

pour ça modifie la ligne :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)


par

colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536,

colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage

isabelle


Bonjour,
On y est presque. Je vois que ça fonctionne très bien.
Il y avait cependant une contrainte supplémentaire: je
voulais que la macro s'applique non pas à la première
colonne systématiquement mais à celle où se trouve la
cellule active (j'ai plusieurs feuilles et la colonne
des


hyperliens est différente selon les feuilles).
Merci de votre patience.
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si j'ai bien compris, l'adresse serait du genre
"F:Archiveszazaphoto.jpg"
le nom de la feuille active : zaza
le contenu de chaque cellule de la colonne A étant le
nom des fichiers

image comme : photo.jpg

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & "", _
TextToDisplay:="" & cellule
Next

si les noms de fichiers image ne sont pas écrit avec
l'extention, il

faudrait modifier comme :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)

ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & ".jpg", _
TextToDisplay:="" & cellule
Next

isabelle



Bonjour,

Je n'ai pas bien compris le dernier message (vous
avez




bien constaté que je suis néophyte).
L'adresse est celle que l'on ajouterait
manuellement en




faisant Ctrl-K et que l'on écrit dans la
fenêtre "Adresse". Mais comme il y en a beaucoup
j'aimerais qu'une macro le prenne en charge.
Le lien est vers un fichier qui se trouve dans un
répertoire; il s'agit d'une photo. En cliquant sur
le




lien, ça permet de visualiser la photo.

L'adresse hyperlien de chaque cellule de la colonne
doit


être formée de la chaîne constituée par :

du texte qui pourrait être "F:Archives"
& le nom de la Feuille active
& "encore du texte" qui pourrait être ""
& le contenu de la cellule (qui équivaut au nom du
fichier de la photo)

La macro doit se faire sur la seule colonne de la
cellule


active

Quelle serait la macro?
Merci,
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si l'adresse hyperlink se trouve dans le classeur :

For Each cellule In Range("A1:A" & Range
("A65536").End





(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:="",

SubAddress:= _
"Feuil2!" & n & c, TextToDisplay:Îllule
Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne se
passe




rien.
Je dois préciser que j'ai peut-être mal expliqué
le






point
3: je désire que la cellule affiche toujours le
même




contenu qu'au départ, mais je voudrais qu'il lui
soit




associé un hyperlien qui serait "Du texte" & n &
c







Cette macro s'appliquerait à toutes les cellules
non






vides d'une colonne donnée à l'exclusion des
autres






colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :


news://msnews.microsoft.com/microsoft.public.fr.excel



(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat"






a
écrit dans le message de
news:043f01c3d899$5d9975c0$
Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule: appelons
la







variable c
2- elle lit le nom de la feuille du classeur;
appelons la



variable n
3- elle écrit dans la cellule donnée un
hyperlien







qui
est
une chaîne de caractères constituée par "Du
texte"







&
n &
c
Encore merci de vos efforts altruistes
Horace Rochat


.

.



.



.













Avatar
Horace Rochat
Ça marche!!
Mille mercis Isabelle
Bonne nuit. Cordialement,
Horace
-----Message d'origine-----
oup's j'ai laissé un .select en trop ( c'était pour
faire un test )

il faut l'enlever.
isabelle


Bonjour Isabelle,

La macro ressemble à ça:

Sub hyperliens()
colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536, colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _
"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" & cellule & ".jpg", _
TextToDisplay:="" & cellule
Next
End Sub

J'ai placé le curseur sur différentes cellules de la
colonne visée (la première, la dernière, une
quelconque). Ça bloque systématiquement à la ligne:
Set plage=..... Select
Merci de vous obstiner
Horace Rochat

-----Message d'origine-----
bonjour Horace,

pour ça modifie la ligne :

For Each cellule In Range("A1:A" & Range("A65536").End
(xlUp).Row)


par

colonne = ActiveCell.Column
ligne = ActiveCell.Row
Set plage = Range(Cells(ligne, colonne), Cells(Cells
(65536,

colonne).End(xlUp).Row, colonne)).Select
For Each cellule In plage

isabelle


Bonjour,
On y est presque. Je vois que ça fonctionne très
bien.




Il y avait cependant une contrainte
supplémentaire: je




voulais que la macro s'applique non pas à la
première




colonne systématiquement mais à celle où se trouve
la




cellule active (j'ai plusieurs feuilles et la
colonne




des
hyperliens est différente selon les feuilles).
Merci de votre patience.
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si j'ai bien compris, l'adresse serait du genre
"F:Archiveszazaphoto.jpg"
le nom de la feuille active : zaza
le contenu de chaque cellule de la colonne A étant
le





nom des fichiers
image comme : photo.jpg

For Each cellule In Range("A1:A" & Range
("A65536").End





(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & "", _
TextToDisplay:="" & cellule
Next

si les noms de fichiers image ne sont pas écrit
avec





l'extention, il
faudrait modifier comme :

For Each cellule In Range("A1:A" & Range
("A65536").End





(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:= _

"C:Documents and SettingsAdministrateur" &
ActiveSheet.Name & "" &

cellule & ".jpg", _
TextToDisplay:="" & cellule
Next

isabelle



Bonjour,

Je n'ai pas bien compris le dernier message (vous
avez




bien constaté que je suis néophyte).
L'adresse est celle que l'on ajouterait
manuellement en




faisant Ctrl-K et que l'on écrit dans la
fenêtre "Adresse". Mais comme il y en a beaucoup
j'aimerais qu'une macro le prenne en charge.
Le lien est vers un fichier qui se trouve dans un
répertoire; il s'agit d'une photo. En cliquant
sur






le
lien, ça permet de visualiser la photo.

L'adresse hyperlien de chaque cellule de la
colonne






doit
être formée de la chaîne constituée par :

du texte qui pourrait être "F:Archives"
& le nom de la Feuille active
& "encore du texte" qui pourrait être ""
& le contenu de la cellule (qui équivaut au nom
du






fichier de la photo)

La macro doit se faire sur la seule colonne de la
cellule


active

Quelle serait la macro?
Merci,
Horace Rochat

-----Message d'origine-----
bonjour Horace,

si l'adresse hyperlink se trouve dans le
classeur :








For Each cellule In Range("A1:A" & Range
("A65536").End





(xlUp).Row)
ActiveSheet.Hyperlinks.Add Anchor:=Range
(cellule.Address), Address:="",

SubAddress:= _
"Feuil2!" & n & c,
TextToDisplay:Îllule







Next

n et c représentant une référence de type "A1"

isabelle


Bonjour,
Ça ne fonctionne malheureusement pas. Il ne
se








passe
rien.
Je dois préciser que j'ai peut-être mal
expliqué








le
point
3: je désire que la cellule affiche toujours
le








même
contenu qu'au départ, mais je voudrais qu'il
lui








soit
associé un hyperlien qui serait "Du texte" &
n &








c

Cette macro s'appliquerait à toutes les
cellules








non
vides d'une colonne donnée à l'exclusion des
autres






colonnes.

Merci à tous les bénévoles
Horace Rochat

-----Message d'origine-----
Bonjour Horace,
Ceci devrait convenir :

Sub xlien()
'MPFE le 12/01/2004
Dim c As String, n As String ' phr
n = ActiveSheet.Name
For Each cel In Range("x1:x15")
c = cel.Value
cel.Value = "Du texte" & n & c
Next cel
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :







news://msnews.microsoft.com/microsoft.public.fr.excel



(Voulez-vous vous abonner ? -> Oui)

"Horace Rochat"






a
écrit dans le message de
news:043f01c3d899$5d9975c0
$









Bonjour,
Je voudrais écrire une macro telle que:
pour chaque cellule d'une colonne donné X

1- elle lit le contenu de la cellule:
appelons









la
variable c
2- elle lit le nom de la feuille du classeur;
appelons la



variable n
3- elle écrit dans la cellule donnée un
hyperlien







qui
est
une chaîne de caractères constituée par "Du
texte"







&
n &
c
Encore merci de vos efforts altruistes
Horace Rochat


.

.



.



.



.