IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

problème hyperlien vers onglet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut problème hyperlien vers onglet
    Bonjour à tous
    voilà mon petit souci.
    Je suis en train de créer un petit programme en VB6 sur Excel 2003.
    En fait je voudrais créer en VB6 un hyperlien sur une cellule d'un onglet donné qui redirige l'utilisateur vers un autre onglet :
    Voici ce que j'avais essayé mais cela ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Do
            If Sheets("UCH").Range("A" & Ligne).Value <> "" Then
                onglet = Sheets("UCH").Range("A" & Ligne).Value
                Sheets(onglet).Select
                Nombreligne = ActiveSheet.Range("F4").Value + 1
                Débutcopy = Range("F4").Value + 6
                Range("A6", "F" & Débutcopy).Select
                Selection.Copy
                Range("A1").Select
                Sheets("Parc automobile").Select
                Cells.Find(What:="FIN", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
                Selection.Insert Shift:=xlDown
                Sheets(onglet).Select
                Application.CutCopyMode = False
            ' mise à jour du lien
                Sheets("Parc automobile").Select
                Range("A1").Select
                Cells.Find(What:=onglet, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
                ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=onglet, TextToDisplay:=onglet
            End If
            Compteur = Compteur + 1
            Ligne = Ligne + 1
        Loop Until Compteur > 35
    onglet représente le nom de l'onglet, donc je recherche dans un onglet un nom (->onglet) puis j'active la cellule en question. Puis en mettant l'hyperlien indiqué ci-dessus, le lien ne marche pas j'ai une erreur Référence non valide.
    Je suppose que l'erreur se trouve SubAddress mais je ne sais pas quoi mettre d'autres.
    J'espère que l'un d'entre vous pourra me trouver la solution.
    Merci à tous

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour, et bienvenue sur nos forums...


    Il faut renseigner la cellule d'arrivée dans la propriété SubAdress. Comme tu passes par la variable Onglet, il faut compléter celle-ci, en adaptant l'exemple ci-dessous pour reconstruire une adresse valide selon la syntaxe d'Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onglet = Sheets("UCH").Range("A" & Ligne).Value & "!a1"
    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup
    super ça marche nickel, en fait j'utilisais déjà la variable onglet pour récupéré le nom de l'onglet mais j'ai créer une 2ème variable onglet2 que j'ai indiqué dans Hyperlinks et cela marche super
    Franchement Merci cela fait une semaine que je tournais en rond pour rien.
    J'ai enfin trouver un super forum où la sympathie des utilisateurs associés à leur connaissance est top.

    Merci est bonne journée.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonne continuation sur nos forums...

    Et n'oublie pas le tag (en bas à gauche des messages)...

    A bientôt. Bon week-end.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    AIE
    je viens juste de remarquer un petit souci qui c'est rajouter...
    EN fait l'onglet sur lequel je faisais le test était un mot unique mais lorsque j'ai essayer sur un autre onglet où il y avait comme nom d'onglet 2 mots séparé par un espace cela m'a refait l'erreur Référence non valide.
    Comment pourrais je faire pour concilier les 2??

    Merci

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Dans mon message précédent, je dis qu'il faut reconstruire une adresse valide selon la syntaxe d'Excel.

    Il faut donc encadrer le nom de l'onglet lorsque celui-ci contient des espaces, comme c'est le cas pour une formule Excel qui pointerait vers cet onglet. Tu peux donc généraliser (même pour les noms d'onglet sans espaces)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onglet = "'" & Sheets("UCH").Range("A" & Ligne).Value & "'!a1"
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Billets dans le blog
    1
    Par défaut
    Franchement Merci
    Je vais cliquer sur le résolu.
    Encore Merci et à bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Classe lettre : hyperlien vers email erroné
    Par Alamassepointcom dans le forum Mise en forme
    Réponses: 1
    Dernier message: 21/03/2007, 17h10
  2. Réponses: 2
    Dernier message: 16/12/2006, 15h18
  3. Gros problèmes avec les onglets
    Par poussinphp dans le forum Delphi
    Réponses: 1
    Dernier message: 23/10/2006, 15h51
  4. problème lien vers Applet
    Par GregHory dans le forum Applets
    Réponses: 1
    Dernier message: 10/04/2006, 18h05
  5. Problème mise à jour onglet
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 25/12/2005, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo