Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Créer des liens hypertexte automatiques et dans plusieurs colonnes dans un tableau excel

JMC

XLDnaute Nouveau
Bonjour à tous,
J'ai toujours mon tableau d'association (en pièce jointe), dans lequel je voudrais mettre des liens hypertextes pour chaque colonnes (qui correspondent à différentes cellules et qui sont les même pour chaque mois), dans la page "Journal Général" .
Je voudrais savoir si il y aurait une formule pour éviter de les faire manuellement.
J'ai commencé à en écrire pour le mois de janvier pour vous donner l'exemple.
Si cela est possible, merci pour votre aide.

Cordialement
 

Pièces jointes

  • Finances association UNC La Teste 2025 pour essai lien.xlsm
    148.4 KB · Affichages: 6
Solution
Dans les fichiers précédents j'ai remplacé :
VB:
        .Hyperlinks.Add r, "", cible.Address(0, 0, External:=True)
par :
VB:
        .Hyperlinks.Add r, "", cible.Parent.Name & "!" & cible.Address(0, 0)
l'adresse du lien est plus simple.

TooFatBoy

XLDnaute Barbatruc
Bonjour,

En rationnalisant ton classeur, on pourrait remplacer les liens par un double-clic dans la cellule grâce à une petite macro.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("I5:N16,W5:AH16")) Is Nothing Then
        Cancel = True
        Application.Goto Sheets(Cells(Target.Row, 5).Value).Cells(26, Target.Column)
    End If
End Sub
 

Pièces jointes

  • Finances-001.xlsm
    115.3 KB · Affichages: 2

JMC

XLDnaute Nouveau
Bonjour et merci,
Mon tableau tel que tu me mets la macro, ne me met plus les cellules en jaune dans les mois concernés.
J'ai rectifié les mois dans les cellules du "Journal Général".
Tout est ok sauf cette colorisation que j'avais demandé depuis le début.
 

Pièces jointes

  • Finances-001 (1).xlsm
    113 KB · Affichages: 1

job75

XLDnaute Barbatruc
Bonjour JMC, TooFatBoy,

Ce sont des liens hypertextes qui sont demandés alors créez-les, c'est très simple :
VB:
Sub Creer_Liens()
Dim r As Range, cible As Range
Application.ScreenUpdating = False
With Sheets("JOURNAL GENERAL")
    Set r = Union(.[F5:N16], .[T5:AH16])
    r.Clear 'RAZ
    r.NumberFormat = "0.00 €"
    r.HorizontalAlignment = xlCenter
    For Each r In r
        Set cible = Sheets(r.Row - 3).Cells(29, r.Column).End(xlUp)
        r = cible.Value
        .Hyperlinks.Add r, "", cible.Parent.Name & "!" & cible.Address(0, 0)
    Next r
End With
End Sub
Les feuilles des mois doivent être placées dans l'ordre à partir de la 2ème feuille.

A+
 

Pièces jointes

  • Finances association UNC La Teste 2025 pour essai lien.xlsm
    126.5 KB · Affichages: 0
Dernière édition:

JMC

XLDnaute Nouveau
Bonjour Job75 et merci pour l'aide.
Les feuilles des mois doivent être placées dans l'ordre à partir de la 2ème feuille.
Je ne comprends pas très bien ce que tu veux dire, car sur mon fichier, tous les mois sont dans l'ordre chronologique.;
Il n'y a que dans le VBA, que les mois sont mélangés, et ç je n'y ai rien touché (déjà que je n'y connais pas grand chose...)
Et ta formule ne me donne pas le résultat demandé. Je n'y ai peut-être pas compris ce qui se pourrait
 

job75

XLDnaute Barbatruc
Je ne comprends pas très bien ce que tu veux dire, car sur mon fichier, tous les mois sont dans l'ordre chronologique.;
Il ne faut pas modifier les positions des feuilles des mois qui doivent être comme j'ai dit.

Et les liens hypertextes sont créés comme demandé (il n'y a plus de formules de liaisons inutiles).
 

job75

XLDnaute Barbatruc
Si les valeurs des feuilles des mois doivent être souvent modifiées on placera dans le code de la feuille "JOURNAL GENERAL" :
VB:
Private Sub Worksheet_Activate()
Creer_Liens
End Sub
Elle s'exécute quand on active la feuille.
 

Pièces jointes

  • Finances association UNC La Teste 2025 pour essai lien.xlsm
    126.7 KB · Affichages: 3

job75

XLDnaute Barbatruc
Dans les fichiers précédents j'ai remplacé :
VB:
        .Hyperlinks.Add r, "", cible.Address(0, 0, External:=True)
par :
VB:
        .Hyperlinks.Add r, "", cible.Parent.Name & "!" & cible.Address(0, 0)
l'adresse du lien est plus simple.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…