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
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.
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
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
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
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
@fcyspm30 et @Phil69970, je partage avec vous vous le fichier come ca vous aurez une idée plus calire.
Bon voila, j'aimerais avoir un lien dans la colonne L e chaque feuille créee a la fin du classeur.
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
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
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