XL 2013 créer un lien hypertexte dans une cellule

grisan29

XLDnaute Accro
bonjour a tous
j'essaie de créer un lien hypertexte où hyperlink dans une cellule en même temps que le classeur est sauvegarder
Code:
With Sheets("Historique factures")
    .Range("A2") = Sheets("Facture").Range("D22")
     'For Each cel In Range("A1:A" & [A65000].End(xlUp).Row)
    ActiveSheet.Hyperlinks.Add Anchor:=Range("A1:A" & [A65000].End(xlUp).Row), Address:= _
        "SAUVEGARDE%20FACTURE%202016"
    .Range("B2") = Sheets("Facture").Range("D21")
    .Range("C2") = Sheets("Facture").Range("L11")
    .Range("D2") = Sheets("Facture").Range("L12")
    .Range("E2") = Sheets("Facture").Range("J22")
    .Range("F2") = Sheets("Facture").Range("M58")
    .Range("G2") = Sheets("Facture").Range("M60")
    .Range("H2") = Sheets("Facture").Range("M61")
    .Range("I2") = Sheets("Facture").Range("M62")
    .Range("J2") = Sheets("Facture").Range("M63")
    .Range("K2") = Sheets("Facture").Range("P63")
    .Range("L2") = Sheets("Facture").Range("M66")
    .Range("A2:L2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Facture").Select
 
End With
en fait je voudrais que la cellule "A2:E65000" où .End(xlUp).Row ce qui est mieux devienne active au clic et mêne vers le document portant le numéro
j'ai essayer plusieurs solution qui marche bien ou pas comme celle en place qui n'agit pas
j'ai essayer un code trouver sur le site de Boisgontier qui me parait bien mais je ne sais pas la mettre dans le contexte soit remplacer les rage par les offset
Code:
Sub HyperLiens()
  Application.ScreenUpdating = False
  Range("A2:E65000").ClearContents
  ChDir ActiveWorkbook.Path
  Range("A2").Select
  nf = Dir("*.xls")
  Do While nf <> ""
     ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=nf, TextToDisplay:=nf
     ActiveCell.Offset(0, 1) = FileDateTime(nf)
     ActiveCell.Offset(0, 2) = FileLen(nf)
     ActiveCell.Offset(0, 3) = GetAttr(nf)
     If GetAttr(nf) And vbReadOnly Then ActiveCell.Offset(0, 4) = ActiveCell.Offset(0, 4) & " Lect"
     ActiveCell.Offset(1, 0).Select
      nf = Dir
   Loop
   Range("A2").Select
End Sub

merci de votre compréhension
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : créer un lien hypertexte dans une cellule

Bonjour Pascal,

en faite, la macro de Jacques, si tu la remarqué, utilise un 2ème classeur. Sur le bureau, enregistre un classeur vide en le nommant Classeur2, et dans Classeur1 tu met le code et exécute la macro.

A+ :cool:
 

grisan29

XLDnaute Accro
Re : créer un lien hypertexte dans une cellule

bonjour lone-wolf

j'ai bien vu qu'il utilise 2 classeur mais lequel est sur le bureau, comment les différentier

sur mon bureau j'ai un classeur nommé "SAUVEGARDE FACTURE 2016"
et le classeur a sauver est la facture en .PDF et son n° est en "D22"
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : créer un lien hypertexte dans une cellule

RE,

un exemple à adapter à ton cas.

Code:
Sub HyperLiens()
With Sheets(1)
lig = .Range("a65536").End(xlUp).Row + 1
Addr = Sheets(2).Cells(lig, 1)
Txt_Display = Sheets(2).Cells(lig, 2)
 .Hyperlinks.Add Anchor:=.Cells(lig, 1), _
 Address:=Addr, _
 TextToDisplay:=Txt_Display
.Range("A:A").Columns.AutoFit
End With
End Sub


A+ :cool:
 

Pièces jointes

  • Classeur1.xls
    38.5 KB · Affichages: 39
  • Classeur1.xls
    38.5 KB · Affichages: 40

grisan29

XLDnaute Accro
Re : créer un lien hypertexte dans une cellule

Bonjour lone_wolf
merci du classeur mais je saisi pas pourquoi tu m'as mis des liens vers le forum, je démarre avec les liens hypertexte, de feuille vers c'est facile, mais de feuille vers classeur fermé et plus .pdf est une inconnu est ce que tu me donner un commenter un peu ton code
ou et comment mettre mes classeurs
 

Lone-wolf

XLDnaute Barbatruc
Re : créer un lien hypertexte dans une cellule

Re Pascal,

mon classeur est juste un exemple. Dans la feuille 2, ça aurait très bien pu être des liens aussi. Les 2 classeurs sont sur le bureau.

Le premier où tu as la macro tu le nomme par ex. "FACTURES 2016" et tu fais la sauvegarde en le renommant "SAUVEGARDE FACTURES 2016". Le problème c'est que toi tu as des cellules discontigues et donc il faut répéter ActiveSheet.Hyperlinks.Add pour chaque cellule.

Et j'ai pas compris .pdf, tu veux enregistrer avec cette extension ??


A+ :cool:
 
Dernière édition:

grisan29

XLDnaute Accro
Re : créer un lien hypertexte dans une cellule

bonjour a tous
finalement le forum sous ma signature m'a trouvé la solution j'ai fait le reste
Code:
Sub Enregistrement_Factures()
    '
    ' Enregistrement_Factures Macro
    
    '
    'Affiche une boite de dialogue afin de verifié si la facture a ete validé
    'Genere une alerte quand il manque une donnée pour la validation dans ce cas la date
    If Sheets("Facture").Range("M22") = "" Then
    If MsgBox("Vous n'avez pas validé votre facture !", vbInformation, "Prog.iFacturier Vous Informe") = vbOK Then
    End
    End If
    End If

    'Archive les informations de la facture
    'Ajoute une ligne pour un futur enregistrement
    'Avez vous Valider votre facture afin de generer le numero automatique?
    If MsgBox("Vous etes sur le point d'archiver les informations concernant cette facture.               Avez vous Valider votre facture afin de generer le numero automatique?                   Souhaitez vous continuer?", vbYesNo, "Prog.iFacturier vous informe..") = vbYes Then
    Dim ligne As Integer
    'déplacement de la ligne ci dessous déjà utiliser plus basChemin = "C:\Users\" & Application.UserName & "\Desktop\SAUVEGARDE FACTURE 2016"
    'ligne = Sheets("Historique factures").Range("A65536").End(xlUp).Row + 1
    'pour trouver la dernière ligne à cause de la mise en forme (couleur cellule)
    ligne = Sheets("Historique factures").Columns(1).Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

    With Sheets("Historique factures")
    .Hyperlinks.Add .Range("A" & ligne), Chemin & "\" & ActiveSheet.Range("D22").Value & ".pdf", , , Sheets("Facture").Range("D22").Value
    '.Range("A2") = Sheets("Facture").Range("D22")'rendre cette ligne hypertexte au fichier qui lui correspond
    'continuer à utiliser ligne pour le reste
        '.Range ("B2")
        .Cells(ligne, "B").Value = Sheets("Facture").Range("D21")
        .Cells(ligne, "C").Value = Sheets("Facture").Range("L11") ' nom société
        .Cells(ligne, "D").Value = Sheets("Facture").Range("L12") 'nom client
        .Cells(ligne, "E").Value = Sheets("Facture").Range("J22") ' date
        .Cells(ligne, "F").Value = Sheets("Facture").Range("M58") ' tot HT
        .Cells(ligne, "G").Value = Sheets("Facture").Range("M60") 'tot tva
        .Cells(ligne, "H").Value = Sheets("Facture").Range("M61")  ' remise
        .Cells(ligne, "I").Value = Sheets("Facture").Range("M62") ' acompte
        .Cells(ligne, "J").Value = Sheets("Facture").Range("M63") 'net a payer
        .Cells(ligne, "K").Value = Sheets("Facture").Range("P63") 'ht+tva
        .Cells(ligne, "L").Value = Sheets("Facture").Range("M66") 'paiement
        '.Range("A2:L2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Sheets("Facture").Select
     
    End With
 End If


    If MsgBox("Etes-vous certain de vouloir généré ce PDF?", vbYesNo, "Demande de confirmation") = vbYes Then
    Sheets("Facture").Select
        Dim nom As String
    nom = Range("L12")

        Chemin = "C:\Users\" & Application.UserName & "\Desktop\SAUVEGARDE FACTURE 2016"
        ChDir Chemin
        Chemin = Chemin & "\"
        nomfic = ActiveSheet.Range("D22").Value & ".pdf"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & nomfic
 

Lone-wolf

XLDnaute Barbatruc
Re : créer un lien hypertexte dans une cellule

Bonjour Pascal,

pourquoi ajouter Chemin = Chemin & "\" quand tu peus mettre la barre oblique déjà avant? Et les variables sont généralement mises soit avant Sub, soit après Sub et non entre des lignes de commandes; et de préférences il faut les déclarées toutes.


A+ :cool:
 
Dernière édition:

grisan29

XLDnaute Accro
Dernière édition:

Discussions similaires

Réponses
21
Affichages
2 K