Partager via

Excel vba lien hypertexte

Anonyme
2017-01-09T16:26:31+00:00

Bonjour,

j'essaie de faire un lien hypertexte dynamique ci dessous le lien

Public Sub lienhypertexte()

Dim celluletrouvee As Range

Dim numero As Variant

Dim ligne As Integer

Dim col As Variant

numero = "4500000308"

Set celluletrouvee = Range("B2:B2000").Find(numero, LookAt:=xlWhole)

Dim chemin As String

chemin = "\srv-fic\Document$\Personnel\edwards\Desktop\BC SIFAC\SERVICE COMMUNS\4500000308.pdf"

With Worksheets(1)

If celluletrouvee Is Nothing Then

MsgBox "pas trouver le lien"

Else

.Hyperlinks.Add Anchor:=celluletrouvee, Address:= _

chemin

End If

End With

End Sub

Le code fonctionne. Le problème et que j'aimerai faire une boucle car j'ai enormement de référence mais je n'y arrive pas

Je pense qu' il faut également modifier le chemin ...

merci de votre aide

merci

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2017-01-16T10:33:49+00:00

Bonjour,

Sa y est j'ai enfin trouvé la solution la voici :

Public Sub lienhypertexte()

Dim celluletrouvee As Range

Dim numero As Variant

Dim ligne As Integer

Dim col As Variant

Dim Plage As Range

Dim chemin As String

Dim NbLignes As Integer

NbLignes = Range("B2").CurrentRegion.Rows.Count - 1

Set Plage = Range(Cells(2, 2), Cells(NbLignes + 1, 2))

Plage.Select

chemin = "\iut1-srv-fic\Document$\Personnel\edward\Desktop\Budget_2017\2017-bon de commande"

With Worksheets(1)

    For Each celluletrouvee In Plage

        numero = celluletrouvee.FormulaR1C1 'Récupère le conenu de la cellule

        Set celluletrouvee = Plage.Find(numero, LookAt:=xlWhole)

        If celluletrouvee Is Nothing Then

            MsgBox "pas trouver le lien"

        Else

            .Hyperlinks.Add Anchor:=celluletrouvee, Address:= _

            chemin & numero & ".pdf"

        End If

    Next celluletrouvee

End With

End Sub

merci de votre aide

a bientôt...

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

13 réponses supplémentaires

  1. DanielCo 107.7K Points de réputation
    2017-01-12T10:06:47+00:00

    Oui, volontiers.

    Daniel

    Cette réponse a-t-elle été utile ?

    1 personne a trouvé cette réponse utile.
    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2017-01-10T18:33:46+00:00

    Tu demandes quelque chose de différent. Est-ce que la macro provoque une erreur ? Précise le problème.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2017-01-10T17:10:37+00:00

    bonjour,

    j'ai testé le code mais sa ne marche pas. 

    est ce que vous pensez qu'il possible de créer une macro qui me permet de récupérer un fichier pdf dans mon répertoire  c:\document... et de l' appliquer à  mon fichier excel selon un critère (numero de bon de commande)

    Je crois qu'il y a la méthode "find" qui doit pouvoir faire sa mais j'en suis pas sure...

    Merci de votre aide

    Bonne soirée

    - -

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. DanielCo 107.7K Points de réputation
    2017-01-09T18:47:53+00:00

    Bonjour,

    Essaie (non testé) :

    Public Sub lienhypertexte() <br><br> <br><br>Dim celluletrouvee As Range <br><br>Dim numero As Variant <br><br>Dim ligne As Integer <br><br>Dim col As Variant <br><br>Dim Plage As Range <br><br>Dim chemin As String <br><br> <br><br>Set Plage = Selection <br><br>numero = "4500000308" <br><br>chemin = "\srv-fic\Document$\Personnel\edwards\Desktop\BC SIFAC\SERVICE COMMUNS\4500000308.pdf" <br><br>With Worksheets(1) <br><br>    For Each celluletrouvee In Plage <br><br>        Set celluletrouvee = .Range("B2:B2000").Find(numero, LookAt:=xlWhole) <br><br>        If celluletrouvee Is Nothing Then <br><br>            MsgBox "pas trouver le lien" <br><br>        Else <br><br>            .Hyperlinks.Add Anchor:=celluletrouvee, Address:= _ <br><br>            chemin <br><br>        End If <br><br>    Next celluletrouvee <br><br>End With <br><br> <br><br>End Sub

    Il faut renseigner la variable "Plage" selon ton besoin.

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire