Du texte à l'hypertexte

Bonsoir FORUM!!!

Après moult recherches, rien trouvé de concluant et dieu sait que j'en ai fait de la recherche aujourd'hui pour venir à bout SEUL de plusieurs problème ou j'avais fait un post sur ce forum. Passons!

J'aimerai faire la chose suivante (j'explique simplement):

SI je rentre Facebook dans une cellule (par exemple J18) il se transforme en lien hypertexte qui mène à Facebook.

La même chose pour plein de lien différents toujours en colonne J.

J'imagine que cela ne se fait pas par l'opération du saint esprit mais par (je pense) une base de données ou un tableau avec les données nécessaires? Cependant je ne sais comment le mettre en place. Créer des liens hypertexte manuellement ça va 5 minutes mais quand tu as a rentré plusieurs fois un lien hypertexte identique ou alors que tu veut remettre un hypertexte que tu avais déjà fait une fois (il y quelque jours) ça serait bien plus pratique avec la solution à laquelle j'aimerai une réponse non? Comme ça je stock petit a petit les liens (dans une feuilles cachées?) et je peut a tout moment mettre un hypertexte automatiquement!

Voila en tout cas j'espère obtenir quelques réponses de votre part. Je vous souhaite une bonne soirée d'HALLOWEEN bisous!

Bonjour,

par formule, avec 2 colonnes :

  • Feuil2 : saisir noms et adresses
  • Feuil1 : saisir nom en J, le lien est créé en K
Masquer J éventuellement.

eric

19classeur4.xls (18.50 Ko)

bonjour

une méthode

cordialement

11liens-hyper.zip (6.18 Ko)

Eriic: C'est le principe mais il faudrait avec une seule colonne car je vois pas l'intérêt d'avoir deux fois la même chose l'un à côté de l'autre dont l'un qui ne sert qu'a déclencher un hypertexte dans le deuxième

C'est à peu près ce que je cherche mais pas totalement, merci de ta réponse et j'attends tes prochaines propositions avec impatience

Amadéuus: Pareille que eriic, et le fait de voir un lien brut c'est pas très esthétique dans mon fichier...

Dit comme alors ça moi je ne vois pas l'intérêt de passer du temps à faire une macro alors qu'en utilisant les fonctionnalités d'excel et en masquant J il ne t'en restera qu'une.

Ou écrire "lien" en nom convivial comme ça tu n'auras pas 2 fois la même chose.

eric

Bonjour,

Masquer/démasquer à chaque fois c'est justement ce que je veux éviter. Je tend à essayer d'obtenir votre aide pour avoir au final un fichier propre et quasi automatisé. Évidemment si il y avais eu une réponse sans passer par les macros je l'aurai trouvé (j'ai pas mal fait de recherches donc...) mais malheureusement ce n'est pas le cas.

J’essaie de penser à une autre alternative pendant que vos réponses défilent mais je n'ai rien trouvé pour le moment, c'est pas comme si j'attendais que tout me tombe tout cuit dans les mains

Bonjour,

Sur la base du même fichier :

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    If Target.Column <> 10 Or Target.Row = 1 Then Exit Sub
    Target.Hyperlinks.Delete
    Set c = Sheets("Feuil2").[A:A].Find(Target, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        Target.Hyperlinks.Add Target, c.Offset(, 1)
    End If
End Sub

eric

Bonjour

Une idée de toi

Zayx a écrit :

par (je pense) une base de données ou un tableau avec les données nécessaires?

A voir

Bonjour eriiic

.

Banzai c'est presque ça!!! A la place du lien il faudrait un hypertexte.

En gros avec ton code quand je tape "Pratique" une fois validé cela m'affiche le lien pure mais ce que j'aimerai ça serait qu'il m'affiche "Pratique" en hypertexte (qui mène au lien associé). Possible? Impossible? En tout cas on s'en approche!

Eriic ton code pour le dernier fichier que tu m'as envoyé?

Merci de vos réponses

oui, avec les noms et liens listés sur Feuil2!A:B

Tu peux même ajouter une re-validation des liens de F:F après modif de Feuil2.

Certains peuvent devenir obsolètes et d'autres valides après.

Dans Feuil2 :

Private Sub Worksheet_Deactivate()
    Dim c As Range, pl As Range
    Set pl = Sheets("Feuil1").Columns("J:J").SpecialCells(xlCellTypeConstants, 2)
    If Not pl Is Nothing Then
        For Each c In pl
            c.Value = c.Value
        Next c
    End If
End Sub

eric

Le problème reste la, on a toujours 2 colonne

Comme pour Banzai on s'approche de la demande mais encore un détail à régler, pour toi c'est bien un hypertexte mais il y a deux colonnes... C'est dommage j'ai la forte impression que ce que je demande n'est pas réalisable (ou du moins pas simplement)...

Erreur de fichier, mais tu pouvais tester en collant toi-même les macros dans ton classeur...

18classeur4.zip (9.42 Ko)

Perfecto!!! Je vous aime! Merci pour votre énorme coup de pouce.

Dernière question (vous inquiétez pas), est-il possible d'appliquer une mise en forme conditionnelle à ces liens hypertexte via une formule. "Si lien hypertexte alors telle mise en forme" le bleu fluo souligné c'est Hardcore

C'est la charte graphique de tous les logiciels pour tous les liens cliquables.

Pas de MFC possible mais tu peux ajouter ta mise en forme dans le code.

eric

Avec l'enregistreur de macro la mise en forme donnerai ça:

    Selection.Font.Bold = True
    With Selection.Font
        .ThemeColor = xlThemeColorLight2
        .TintAndShade = 0.399975585192419
    End With
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0.149998474074526
        .PatternTintAndShade = 0
    End With
    Selection.Font.Underline = xlUnderlineStyleNone

J'ai essayé de le mettre à la suite des deux codes que tu m'a donné mais quand je valide ce que j'ai tapé, cela se transforme en hypertexte mais la mise en forme ne s'applique pas.

A oui et est-ce qu'on peut aussi associer un lien hypertexte à deux lien, en gros je tape un texte, par exemple:

Google & Facebook

Et bien que celui-ci soit associer à deux liens (Google et Facebook) et qu'il lance les deux liens quand on clique dessus)?

mettre après Target.Hyperlinks.Add Target, c.Offset(, 1)

et remplacer Selection. par Target.

Pour plusieurs liens avant de penser vba pense excel, ne soit pas aussi radin en cellules. Tu pourras faire évoluer plus facilement.

Oki merci! Le temps que tu es la:

J'ai mis

Range("A1").Select

Dans mon code sur une macro mais même si ça me sélectionne la cellule A1 cela ne me recentre pas sur cette dernière car je voudrais que ce bouton me ramène en haut de page hors il ne fait que sélectionner A1...

Une idée? :p

essaie avec :

Application.Goto [A1]

eric

Encore une fois ça sélectionne A1 sans pour autant me faire remonter tout en haut de ma feuille... Je ne comprend pas ce sont pourtant des solutions censées marcher d'après les sujets que j'ai visité :s

EDIT: autant pour moi ça marche, je me suis souvenu que j'avais mis "Screenupdating" sur false...

Merci et bonne soirée!

Rechercher des sujets similaires à "texte hypertexte"