Modifier un lien hyper texte sur excel. [Résolu/Fermé]

- - Dernière réponse : Le Pingou
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
- 11 févr. 2016 à 22:44
Bonjour,
Je dispose d'un fichier sur excel MAC 2011, me permettant à l'aide d'une macro simple d'afficher quelques caractéristiques pour chacun des 172 pays. Je dispose d'autre part d'un site me permettant de connaître la situation sécuritaire de ces pays.
Par un lien hyper texte portant le nom d'un pays, je peux me connecter sur ce site. Toutefois ce lien devrait être modifier si je change de pays.
Existe t il un moyen de modifier un lien hyper texte chaque fois que je modifierai le nom du pays à l'aide d'une macro.

En vous remerciant
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
988
1
Merci
Bonjour,
Pouvez-vous mettre une copie de la macro et du lien hyper texte ?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 70107 internautes nous ont dit merci ce mois-ci

0
Merci
Merci beaucoup pour votre réactivité
Le lien hyper texte est le suivant
http://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays/algerie/.
Comme vous le remarquez ce lien est spécifique d'un pays, ici l'Algérie.
Pour le Niger, le lien est le même mais le nom du pays change:
http://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays/niger/
Etc.
La macro que j'ai conçue (je suis loin d'être un spécialiste et commence à peine à maîtriser ce langage)

Le principe en est donc très simple. Chaque pays est identifié par un nombre (ici l'Algérie correspond au chiffre 4) qui s'affiche dans une cellule (C1). La macro me permet alors l'affichage d'une carte du pays en question et certaines de ses caractéristiques:
Sub codeALG()
If Range("B2").Value = "ALGERIE" Then Range("C1").Value = "4"
If Range("C1").Value = "4" Then Range("C2").Value = "PAYS PRIORITAIRE"
If Range("C1").Value = "4" Then Range("C3").Value = ""

If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Image 29")).Visible = True
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 7")).Visible = True '
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 24")).Visible = True
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 25")).Visible = True
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 26")).Visible = True
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 27")).Visible = True
If Range("C1").Value = "4" Then ActiveSheet.Shapes.Range(Array("Rectangle 28")).Visible = True '

If Range("C1").Value = "4" Then Range("A4").Value = Range("'Fiche pays'!M2").Value
If Range("C1").Value = "4" Then Range("A5").Value = Range("'Fiche pays'!M3").Value
If Range("C1").Value = "4" Then Range("A6").Value = Range("'Fiche pays'!M4").Value
If Range("C1").Value = "4" Then Range("A7").Value = Range("'Fiche pays'!M5").Value
If Range("C1").Value = "4" Then Range("A8").Value = Range("'Fiche pays'!M6").Value
If Range("C1").Value = "4" Then Range("A9").Value = Range("'Fiche pays'!M7").Value

Je souhaiterais que cette macro me permette à l'affichage d'un nombre correspondant à un pays de modifier le lien hyper texte en y modifiant le nom du pays.

J'espère ne pas avoir été trop confus.
Merci pour les conseils que vous pourrez me donner.
Bien cordialement
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
988
0
Merci
Bonjour,
Merci, mais ou se trouve le lien hypertexte......?
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
988
0
Merci
Bonjour,
Je ne trouve pas le lien entre la macro et le lien hypertexte, merci du complément d’info… !
En passant votre code serait mieux comme suit :
Sub codeALG()
If Range("B2").Value = "ALGERIE" Then
Range("C1").Value = "4"
Else
MsgBox "Le pays ne correspond pas à [ALGERIE]...!"
Exit Sub
If Range("C1").Value = "4" Then
Range("C2").Value = "PAYS PRIORITAIRE"
Range("C3").Value = ""
With ActiveSheet.Shapes
.Range(Array("Image 29")).Visible = True
.Range(Array("Rectangle 7")).Visible = True '
.Range(Array("Rectangle 24")).Visible = True
.Range(Array("Rectangle 25")).Visible = True
.Range(Array("Rectangle 26")).Visible = True
.Range(Array("Rectangle 27")).Visible = True
.Range(Array("Rectangle 28")).Visible = True '
End With
Range("A4").Value = Range("'Fiche pays'!M2").Value
Range("A5").Value = Range("'Fiche pays'!M3").Value
Range("A6").Value = Range("'Fiche pays'!M4").Value
Range("A7").Value = Range("'Fiche pays'!M5").Value
Range("A8").Value = Range("'Fiche pays'!M6").Value
Range("A9").Value = Range("'Fiche pays'!M7").Value
End If
End Sub

0
Merci
Bonjour et un grand merci pour votre conseil que j'ai déjà mis en application.
Je ne parviens pas à creer de lien entre le lien hypertexte et ma macro. C'est en fait le but de ma question.
Je souhaiterais que ma macro génère une modification du lien hyper texte par une modification de l'adresse du site. Je ne sais si cela est possible.
Mon objectif est qu'en lançant ma macro, toutes les indications sur un pays apparaissent et que le lien hyper texte me renvoie au site correspondant au pays.
En changeant de pays, la macro modifie les informations et devrait modifier l'adresse du lien hyper texte.
J'espère avoir été clair.

Merci encore
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
988
0
Merci
Bonjour,
Si je comprends bien, le nom du pays est choisi dans la liste déroulante en [B2] de la feuille Excel,
Et en fin de macro vous voulez que le lien hypertexte correspondant s’ouvre….Oui ….Non !

Vous modifiez le code en ajoutant les 3 lignes selon l’extrait et le lien sera insérer dans la cellule [G2] de la feuille :
Sub codeALG()
If Range("B2").Value = "ALGERIE" Then
Range("C1").Value = "4"
lien = "http://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays/" & Range("B2") & "/"
Set objlink = ActiveSheet.Hyperlinks.Add(Range("G2"), lien)
objlink.Range.Value = lien
Else
.....
......



Salutations.
Le Pingou
0
Merci
Bonsoir,
Vraiment un très grand merci pour la réactivité et l'efficacité.
Les trois lignes fonctionnent parfaitement et répondent exactement à mon problème.
Bien cordialement (et encore merci)
Le Pingou
Messages postés
9516
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 septembre 2019
988 -
Merci.