Excel - VBA- lire un lien hypertexte

Résolu
Diana74 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Diana74 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Petit souci bien ennuyeux pour programmation excel.

Voici le "contexte" :
A l'origine j'avais un tableau Excel dont une colonne XYJ avec les valeur allant de A à Z.
J'ai créer des onglets de A à Z, et dans le premier onglet j'ai créer les liens hypertextes correspondant.

Maintenant je souhaiterai faire la macro suivante :
Selectionner la cellule A.
Copier son contenu (donc) A.
Aller dans l'onglet A.
Copier "A" dans la cellule C3.

Puis passer à B

ce qui donne cela en manuel :

Range("B6").Select
Selection.Copy
Range("B6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

J'ai donc modifier les "range()" en cells(i,y) et fait une boucle sur le i le y=2.
la copie semble se faire. Mais, pour moi il ne vas pas dans l'onglet et donc ne colle pas.

Pouvez vous m'aidez ? Je suis sur Office 2003.

Merci d'avance.

Diana
Configuration: Windows XP
Firefox 3.0.10

5 réponses

  1. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    Range("B6").Select
    Selection.Copy
    Range("B6").Select
    lien = Selection.Hyperlinks(1).SubAddress
    Set onglet = Range(lien).Worksheet
    onglet.Range("C3").Select

    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    2
  2. Diana74 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    Range("B6").Select
    Selection.Copy
    Range("B6").Select
    lien = Selection.Hyperlinks(1).SubAddress
    Set onglet = Range(lien).Worksheet
    onglet.Range("C3").Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False

    le terme "lien" est une commande VBa ?
    Je débute, donc j'aidumalà tout saisir :)
    Mais la commande que tu donne permet d'aller directement C3 à la case de l'onglet que j'aurai "cliquer" via le VBA ?

    Merki merki !
    0
    1. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
       
      lien est une variable adresse qui représente l'adresse contenue dans l'hyperlien de la cellule B6.
      onglet est une variable objet qui représente la feuille à laquelle fait référence l'hyperlien de la cellule B6.
      voici ce que signifie le code ci-dessus :

      1- sélection sur la feuille active de la cellule B6 où se trouve un hyperlien
      2- copie de cette cellule
      3- sélection de cellule C3 se trouvant dans la feuille référencée par l'hyperlien
      4- collage de la cellule source B6 sur la cellule destinataire C3


      je ne sais pas si cela répond à ton problème mais c'est ce que j'en ai compris.
      0
  3. Diana74 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    je comprends ce que ca devrai faire, mais ca ne fait pas :( !
    la macro est arreter qd à la ligne onglet.Range(b3).select. Mais je vois pas pourquoi.
    0
  4. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    c'est sans doute que la variable lien est vide car il n'y a pas pas d'hyperlien sur la cellule B6 de ta feuille de départ.
    A vérifier en introduisant une instruction "stop" et en positionnant le curseur de la souris sur la varaible lien pour voir son contenu.
    lien = Selection.Hyperlinks(1).SubAddress
    STOP
    Set onglet = Range(lien).Worksheet
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Diana74 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    ayant créer le lien hypertexte et lorsque je clique dessus je vais vais bien dans mon onglet, comment ne peux t'il pas y avoir de lien hypertexte ?
    0