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 :

Compatibilité VBA 2010 -> 2013 (Suivre un lien hypertexte)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Par défaut Compatibilité VBA 2010 -> 2013 (Suivre un lien hypertexte)
    Bonjour,

    J'ai un petit soucis,

    Mon programme fonctionne à merveille sur Excel 2010 (version anglaise). Mais pas sur Excel 2013 :
    Voici ce qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Programme").Worksheets("Résultats").Cells(Lignee, 20).Hyperlinks(1).Follow
    Sur 2010 : Cette ligne de commande ouvre l'hyperlien, et affiche l'onglet désiré.

    Par Exemple : Documents.xls#'Jour 2 A2'!A1 , va ouvrir le classeur documents, sur l'onglet jour 2.

    Or sur 2013 :

    Le classeur Document s'ouvre mais pas sur le bon onglet, en faite il n'y à aucune sélection d'onglet ...

    J'ai donc essayé d'enregistrer une macro (et bien sûr quand je clique avec ma souris sur le liens, le classeur + l'onglet désiré s'ouvre). Mais quand je réexécute la macro tout juste enregistrée, j'ai juste le classeur qui s'ouvre ....

    Voilà avez vous une idée svp ?

    Merci bien

    Cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Je viens de faire un test; ça ne fonctionne pas plus avec Excel 2010 qu'avec Excel 2013. Ca fonctionne manuellement, mais pas avec une macro. En cherchant sur internet, il semble que le problème soit fréquent mais pas systématique. Ici, ça ne fonctionne pas mieux avec Followhyperlink.

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    même en précisant le classeur avec son extension ? Comme par exemple "Programme.xlsx" …

  4. #4
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour
    si ceci fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Programme").Worksheets("Résultats").Cells(Lignee, 20).Hyperlinks(1).Follow
    Stocké le n° ou le nom de l'onglet a afficher et ajouter ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(N).Activate
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
     
       onglet = Range("a2")
        Cells(ligne, 1).Hyperlinks(1).Follow
        Range("a1").Hyperlinks(1).Follow
        ActiveWorkbook.Sheets(onglet).Activate
        'ActiveWorkbook.Sheets("" & onglet).Activate
     
    End Sub

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour keygen08,

    Oui, on peut contourner, mais le paramètre "SubAddress" de "Followhyperlink" est inopérant,tout comme l'indication de la feuille et de la cellule pour "Follow".

  6. #6
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Par défaut
    Bonjour,

    Merci pour vos réponses mais,

    Subaddress ne récupère pas le nom de l'onglet, et j'utilise l'hyperlink car il m'est impossible de connaître par avance le nom de l'onglet qui vas s'ouvrir... (Il choisis par mis plus de 1000 onglets) ... Et le onglet=range ne peut pas marcher car le nom de l'onglet n'est pas toujours le même que ce qu'il y a écris dans le cellule ... Compliqué :o.

    Du coup je vais essayer de bidouiller, pour trouver une macro qui récupéré les liens des hyperliens, et le découpe de façon à ne récupérer que les données voulues.... Pour ensuite utiliser le nom de l'onglet comme variable...

    Sauf si vous avez d'autres solutions ?

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Avec le lien hypertexte en A1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Dim Adresse As String, SousAdressse As String, Feuille As String, Cellule As String
        With ActiveWorkbook.Sheets("Feuil1").Range("A1")
            Classeur = .Hyperlinks(1).Address
            SousAdressse = .Hyperlinks(1).SubAddress
            Feuille = Split(SousAdressse, "!")(0)
            Cellule = Split(SousAdressse, "!")(1)
            MsgBox "Adressse : " & Classeur & vbCrLf & _
            "Feuille : " & Feuille & vbCrLf & _
            "Cellule : " & Cellule
        End With

Discussions similaires

  1. [XL-2010] Compatibilité VBA 2010 et VBA 2013
    Par GERIKO dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/05/2014, 17h27
  2. Pb compatibilité vba [2003-2007-2010]
    Par Gorzyne dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2013, 20h23
  3. [VBA-Excel] Problème de syntaxe pour lien hypertexte
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/01/2007, 11h23
  4. [VBA-E]Suivre un lien
    Par juanelcalor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/04/2006, 14h23
  5. [VBA-E] Problème d'adresse de liens hypertext
    Par jgfa9 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/12/2005, 11h11

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