Microsoft 365 Lien hypertexte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Othmane204

XLDnaute Nouveau
Bonjour à tous,

Je suis entrain de créer une facture avec VBA, et je bloque à cause d'une fonction que j'aimerais appliquer, j'ai beau cherché mais je ne trouves pas ce que je cherche.

Je veux créer un lien hypertexte a travers la derniere feuille ajoutée dans le classeur et mettre le lien dans une cellule predefinie dans une autre feuille ("HISTORIQUE FACTURES") par exemple cellule K4. Et je veux que ca s'ajoute sur une nouvelle ligne a chaque fois que je crée une feuille

Voici le code où je suis arrivé.

Sheets("HISTORIQUE FACTURES").Select
ligne = Range("A2").End(xlDown).Row + 1
ActiveSheet.Hyperlinks.Add Anchor:=Cells(ligne, 1), Address:="", SubAddress:= _
Sheets(Sheets.Count).Name & "!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value

Merci d'avance!
 
Solution
Bonsoir à tous je tiens à vous remercier pour vos efforts et votre aide, je vous informe que finallement je suis arrivé au résultat voulu grace au code suivant :
VB:
Dim Derlig&
With Sheets("HISTORIQUE FACTURES")
    Derlig = .Range("L" & Rows.Count).End(xlUp).Row + 1
    .Hyperlinks.Add Anchor:=.Cells(Derlig, 12), Address:="", SubAddress:= _
    "'" & Sheets(Sheets.Count).Name & "'!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value & "!A1"
End With

C'est bien ce que @Phil69970 m'avait proposé, c'est juste qu'il devait mettre les apostrophes devant et derrière le nom.

Merci encore!

Voyez le fichier joint et le code de la feuille HISTORIQUE FACTURES :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet, a(1 To 11), i%
Application.ScreenUpdating = False
With [Tableau1] 'tableau structuré
    .Rows(1).ClearContents 'RAZ
    If .Rows.Count > 1 Then .Rows(2).Resize(.Rows.Count - 1).Delete xlUp 'RAZ
    lig = 1
    For Each w In Worksheets
        Erase a 'RAZ
        a(1) = w.Range("K18") & " " & w.Range("F23")
        If LCase(a(1)) = LCase(w.Name) Then
            a(2) = w.Range("F26")
            For i = 3 To 7
                a(i) = w.Range("K" & 15 + i)
            Next i
            a(8) = w.Range("E29") 'bizarre non ???
            On Error Resume Next 'au cas où...
            a(9) = w.Columns("K").Find("sous-total", , xlValues)(1, 2)
            a(10) = w.Columns("J").Find("TVA")(1, 3)
            a(11) = w.Columns("K").Find("TTC")(1, 2)
            On Error GoTo 0
            .Rows(lig) = a 'restitution
            Hyperlinks.Add .Cells(lig, 1), "", "'" & w.Name & "'!A1" 'création du lien
            lig = lig + 1
        End If
    Next w
End With
End Sub
Le tableau se met à jour quand on active la feuille.
 

Pièces jointes

Voyez le fichier joint et le code de la feuille HISTORIQUE FACTURES :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet, a(1 To 11), i%
Application.ScreenUpdating = False
With [Tableau1] 'tableau structuré
    .Rows(1).ClearContents 'RAZ
    If .Rows.Count > 1 Then .Rows(2).Resize(.Rows.Count - 1).Delete xlUp 'RAZ
    lig = 1
    For Each w In Worksheets
        Erase a 'RAZ
        a(1) = w.Range("K18") & " " & w.Range("F23")
        If LCase(a(1)) = LCase(w.Name) Then
            a(2) = w.Range("F26")
            For i = 3 To 7
                a(i) = w.Range("K" & 15 + i)
            Next i
            a(8) = w.Range("E29") 'bizarre non ???
            On Error Resume Next 'au cas où...
            a(9) = w.Columns("K").Find("sous-total", , xlValues)(1, 2)
            a(10) = w.Columns("J").Find("TVA")(1, 3)
            a(11) = w.Columns("K").Find("TTC")(1, 2)
            On Error GoTo 0
            .Rows(lig) = a 'restitution
            Hyperlinks.Add .Cells(lig, 1), "", "'" & w.Name & "'!A1" 'création du lien
            lig = lig + 1
        End If
    Next w
End With
End Sub
Le tableau se met à jour quand on active la feuille.
Re,
Je ne sais pas pourquoi mais la macro de votre fichier se desactive
 
Bonsoir à tous je tiens à vous remercier pour vos efforts et votre aide, je vous informe que finallement je suis arrivé au résultat voulu grace au code suivant :
VB:
Dim Derlig&
With Sheets("HISTORIQUE FACTURES")
    Derlig = .Range("L" & Rows.Count).End(xlUp).Row + 1
    .Hyperlinks.Add Anchor:=.Cells(Derlig, 12), Address:="", SubAddress:= _
    "'" & Sheets(Sheets.Count).Name & "'!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value & "!A1"
End With

C'est bien ce que @Phil69970 m'avait proposé, c'est juste qu'il devait mettre les apostrophes devant et derrière le nom.

Merci encore!

 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
547
Réponses
4
Affichages
361
Retour