Modifier un lien hyper texte sur excel.

Résolu/Fermé
Limon - 9 févr. 2016 à 18:38
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 - 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
A voir également:

7 réponses

Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
9 févr. 2016 à 23:38
Bonjour,
Pouvez-vous mettre une copie de la macro et du lien hyper texte ?

1
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
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
10 févr. 2016 à 18:09
Bonjour,
Merci, mais ou se trouve le lien hypertexte......?
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
10 févr. 2016 à 22:46
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié par Le Pingou le 11/02/2016 à 17:53
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 = "https://www.diplomatie.gouv.fr/fr/conseils-aux-voyageurs/conseils-par-pays-destination/" & Range("B2") & "/"
Set objlink = ActiveSheet.Hyperlinks.Add(Range("G2"), lien)
objlink.Range.Value = lien
Else
.....
......



Salutations.
Le Pingou
0
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)
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
11 févr. 2016 à 22:44
Merci.
0