Microsoft 365 Lien hypertexte

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!

Phil69970

XLDnaute Barbatruc
Bonjour @Othmane204 et bienvenu sur XLD

Si j'ai compris et sans fichier exemple fourni je propose

VB:
Sub Creation_Lien()
Dim Derlig&
With Sheets("HISTORIQUE FACTURES")
    Derlig = .Range("K" & Rows.Count).End(xlUp).Row + 1
    .Hyperlinks.Add Anchor:=.Cells(Derlig, 11), Address:="", SubAddress:= _
    Sheets(Sheets.Count).Name & "!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value
End With
End Sub

Le lien est crée dans la colonne K de la feuille "HISTORIQUE FACTURES"
Sinon merci de fournir un fichier exemple avec les explications ou crée le lien

Merci de ton retour

@Phil69970
 

Othmane204

XLDnaute Nouveau
Bonjour @Othmane204 et bienvenu sur XLD

Si j'ai compris et sans fichier exemple fourni je propose

VB:
Sub Creation_Lien()
Dim Derlig&
With Sheets("HISTORIQUE FACTURES")
    Derlig = .Range("K" & Rows.Count).End(xlUp).Row + 1
    .Hyperlinks.Add Anchor:=.Cells(Derlig, 11), Address:="", SubAddress:= _
    Sheets(Sheets.Count).Name & "!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value
End With
End Sub

Le lien est crée dans la colonne K de la feuille "HISTORIQUE FACTURES"
Sinon merci de fournir un fichier exemple avec les explications ou crée le lien

Merci de ton retour

@Phil69970
Bonjour @Othmane204 et bienvenu sur XLD

Si j'ai compris et sans fichier exemple fourni je propose

VB:
Sub Creation_Lien()
Dim Derlig&
With Sheets("HISTORIQUE FACTURES")
    Derlig = .Range("K" & Rows.Count).End(xlUp).Row + 1
    .Hyperlinks.Add Anchor:=.Cells(Derlig, 11), Address:="", SubAddress:= _
    Sheets(Sheets.Count).Name & "!A1", TextToDisplay:=Sheets("FACTURE").Range("K18") & " " & Sheets("FACTURE").Range("F23").Value
End With
End Sub

Le lien est crée dans la colonne K de la feuille "HISTORIQUE FACTURES"
Sinon merci de fournir un fichier exemple avec les explications ou crée le lien

Merci de ton retour

@Phil69970
Je vous remerci pour votre retour, j'ai essayé ce code mais ca ne marche pas.
 

job75

XLDnaute Barbatruc
Bonjour Othmane204, Phil69970, fcyspm30, le forum,

A priori il s'agit dans HISTORIQUE FACTURES de créer les liens conduisant aux autres feuilles.

La macro dans le code de cette feuille :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet
lig = 2
Application.ScreenUpdating = False
Range("A2:A" & Rows.Count).Clear 'RAZ
For Each w In Worksheets
    If w.Name <> Me.Name Then Me.Hyperlinks.Add Cells(lig, 1), "", "'" & w.Name & "'!A1", , w.Name: lig = lig + 1
Next
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • Factures(1).xlsm
    21 KB · Affichages: 3

Othmane204

XLDnaute Nouveau
Bonjour Othmane204, Phil69970, fcyspm30, le forum,

A priori il s'agit dans HISTORIQUE FACTURES de créer les liens conduisant aux autres feuilles.

La macro dans le code de cette feuille :
VB:
Private Sub Worksheet_Activate()
Dim lig&, w As Worksheet
lig = 2
Application.ScreenUpdating = False
Range("A2:A" & Rows.Count).Clear 'RAZ
For Each w In Worksheets
    If w.Name <> Me.Name Then Me.Hyperlinks.Add Cells(lig, 1), "", "'" & w.Name & "'!A1", , w.Name: lig = lig + 1
Next
End Sub
Elle se déclenche quand on active la feuille.

A+
Bonjour @job75, je vous remercie pour votre retour, et ce que vous pouvez appliquer votre solution dans mon fichier que je viens de partager.

Merci!
 

job75

XLDnaute Barbatruc
Merci pour votre fichier, ce n'est pas du tout ce que je pensais :

- la facture précédente listée FA2211-011 n'existe plus

- les feuilles FACTURE et ZZZZ 4565 sont identiques, pourquoi ?

Tout cela paraît assez incohérent, il faudrait revoir la conception de l'ensemble.
 

Othmane204

XLDnaute Nouveau
Merci pour votre fichier, ce n'est pas du tout ce que je pensais :

- la facture précédente listée FA2211-011 n'existe plus

- les feuilles FACTURE et ZZZZ 4565 sont identiques, pourquoi ?

Tout cela paraît assez incohérent, il faudrait revoir la conception de l'ensemble.
Oui en fait la facture FA2211-011 n'existait pas j'ai inseré cette ligne mauellement pour essayer le aut de ligne, es dans ce fichier j'ai pas ajouté les comandes pour effacer le contenu de la feuille facture c'est pour cela que les 2 feuilles sont identiques
 

Phil69970

XLDnaute Barbatruc
Bonjour @fcyspm30 et @job75

Perso quand je lis ceci :
Je vous ai proposé une réponse sur le forum XLP

Je me dit que la charte §2.10 n'est pas respecté.

Et quand je vois le fichier fourni et la demande je pense que la demande est assez incohérente.
mettre le lien dans une cellule predefinie dans une autre feuille ("HISTORIQUE FACTURES") par exemple cellule K4.

1669980099297.png


Ps: En mettant les les bonnes colonnes (colonne L et non pas K) mon post #2 fonctionne.

Par contre ceci ne fonctionne pas !!!!

1669980607396.png


@Phil69970
 

Othmane204

XLDnaute Nouveau
Bonjour @fcyspm30 et @job75

Perso quand je lis ceci :


Je me dit que la charte §2.10 n'est pas respecté.

Et quand je vois le fichier fourni et la demande je pense que la demande est assez incohérente.


Regarde la pièce jointe 1157031

Ps: En mettant les les bonnes colonnes (colonne L et non pas K) mon post #2 fonctionne.

Par contre ceci ne fonctionne pas !!!!

Regarde la pièce jointe 1157035

@Phil69970
Tout d'abord je suis desolé si j'ai enfreint la regle, ca n'etait pas du tout mon intention.
Sachez que j'ai corrigé la colonne en L et ca marche toujours pas
 

Discussions similaires

Réponses
5
Affichages
196
Réponses
7
Affichages
466

Statistiques des forums

Discussions
312 108
Messages
2 085 377
Membres
102 876
dernier inscrit
BouteilleMan