Macro liens hypertexte

Bonjour,j'ai crée une macro qui a pour fonction d'attribué un lien hypertexte à un ensemble de cellules fusionné a un fichier word
(en fait ,ce sont les récapitulatifs d'une journée à chaque fois) de la manière suivante:

Range("GE2:GJ2").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"journal des journées\21-07-2009.doc"

Range("GK2:GP2").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
"journal des journées\22-07-2009.doc"

etc...

Serait il possible d'affectuer une macro qui genererait automatiquement pour chaque cellule fusionner un lien hypertexte qui se suit ? Car tout recopier à chaque fois,c'est plus rapide qu'en passant à chaque fois par les liens
mais c'est assez fastidieux quand meme
Merci d'avance
Configuration: Windows XP
Firefox 3.5.1

11 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour, donc tu voudrais que toutes les 6 colonnes de la ligne 2 se créé un lien hypertexte c'est ca?

    Et l'adresse du lien.. c'est toujours :

    "journal des journées\22-07-2009.doc" puis
    "journal des journées\21-07-2009.doc" (j-1)
    "journal des journées\20-07-2009.doc" (j-2)

    ect ?
    1. Oui c'est à peu près ca
      Ce groupe de cellule,je dois a chaque fois indiquer à la macro ou il se trouve
      et modifier le nom du document word ou se fait le lien hypertexte
      Après,je compte faire un fichier pour toute l'année
      ex:sur le doc.excel,j'ai un ensemble de cellule fusionner de 6 cellules qui porte le nom:1-01-2010
      Il faudrait qu'il m'associe un lien hypertexte nommer 1-01-2010 dans word etc....
      Et ce du 1er janvier au 31 décembre
      1. Contributeur
        chaque chose en son temps ;)
        encore 2 ptites question.. est ce que tu sais où doit commencer ta macro.. et où elle doit se terminer

        je vois que tu est en Range("GK2:GP2").. ce qui me fait dire que ton tableau est assez enorme ... :s
        1. Oui,elle doit commencer le 30 juillet et se terminer le 24 décembre
          J'aimerais aussi créer une sauvegarde du fichier avec une macro qui permettrait d'aller du 1 er janvier au 31 décembre (365 liens hypertextes à faire)
          1. Contributeur
            donc je suppose que la date est en ligne 1...

            derniere question.. veux tu qu'il commence au 1er lundi du mois d'aout, ou tu t'en moque? pareil pour le 24 decembre??
            1. La date est en ligne 2

              Si cela commence le 1 er lundi du mois d'aout,je ferais avec,je ferais des copier coller
              de ma macro de départ et je modifierai à chaque fois l'ensemble de cellule et la date du lien
              en attendant
              1. Contributeur
                non, non, en fait, ma question était dois tu te basé sur une semaine calendaire (du lundi au dimanche par ex) ou sur une semaine de 7 jours, quelque soit le jour du début ...

                Bon, et j'ai tout relu.. en fait tu as 6 colonnes avec le meme jour puis 6 colonnes suivantes avec le jour suivant..ect..

                voici le code

                Rows(1).Hyperlinks.Delete 'enleve les hyperlinks actuels
                Rows(1).NumberFormat = "dd-mm-yyyy" 'remet le format de date
                'Range("A1:A10").Format "dd-mm-yyyy"
                colonne = 1 'numero de la colonne où l on commence
                While Cells(1, colonne) <> "" 'tant qu il arrive pas au bout
                Range(Cells(1, colonne), Cells(1, colonne + 5)).Select 'selectionne les 6 colonnes
                datealier = Format(Cells(1, colonne).Value, "dd-mm-yyyy") ' met en forme la date qui va etre ecrite
                ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
                "journal des journées\" & datealier & ".doc" 'ajoute le lien
                colonne = colonne + 6 'avance de 6 colonnes
                Wend 'retour au debut de la boucle
                1. OK merci beaucoup,mais en executant la macro
                  ub Macro1()
                  '
                  ' Macro1 Macro
                  ' Macro enregistrée le 29/07/2009 par aaaaaaa
                  'Rows(1).Hyperlinks.Delete
                  Rows(1).NumberFormat = "dd-mm-yyyy"
                  'Range("A1:A10").Format "dd-mm-yyyy"
                  colonne = 1
                  While Cells(1, colonne) <> ""
                  Range(Cells(1, colonne), Cells(1, colonne + 5)).Select
                  datealier = Format(Cells(1, colonne).Value, "dd-mm-yyyy") '
                  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
                  "journal des journées\" & datealier & ".doc"
                  colonne = colonne + 6 '
                  Wend

                  '
                  Application.Run "PERSO.XLS!Macro1"
                  Range("GL17").Select
                  End Sub
                  Il me met erreur d'application 28
                  Espace pile insuffisant?
                  1. Contributeur
                    ben oui.. c'est sur...

                    tu as rajouter ca à la fin de Macro1:

                    Application.Run "PERSO.XLS!Macro1"

                    donc macro1 lance macro1.. ect.. donc il boucle !!
                    1. Ok,je suis désolé,j"ai effacé cette partie
                      C'est logique mais bon je suis à ma première macro

                      Cette macro marche pour n'importe quel date?