IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

Ouvrir PDF en lien hypertexte dans un moteur de recherche userform


Sujet :

VBA

  1. #21
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par RyuAutodidacte Voir le message
    re,

    D'abord tester le code tel qu'il est en le mettant dans un module standard et en remplaçant les chemins pour les fichiers par tes fichiers pdf dans ton ordi par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     MyLink = "C:\Users\UserName\TonCheminAToi\tonfichier.pdf"
    OpenFicLinks MyLink
    Test_OpenFicLinks et OpenFicLinks à mettre dans le même module (c'est pout test)

    Edit : les liens internets on peut les laisser et faire le code en F8 pour mieux voir ce qui s y passe - fais moi savoir ce qu'il en est si c'est ok ou pas pour pourvoir l'inclure dans le code après …
    Ne fonctionne pas ou je suis vraiment nul..;

  2. #22
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    dis moi ce que tu as fait exactement et montre moi le code que tu as inséré et à quel endroit …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  3. #23
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Et voici :

    Nom : 2018-05-12_210958.jpg
Affichages : 218
Taille : 44,4 Ko

  4. #24
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Déjà il y a une souci je ne vois pas où est la fonction que j'ai créé, en plus dans le chemin, le fichier n'a pas son extension :
    C'est "NDS-2012-Interprétariat V2.pdf" ???
    il faut la Sub et le Function dans le module

    A mettre en dessous du code montré en capture (à corriger), après le End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Function OpenFicLinks(ByVal LienValide As String)
    Dim TF As Boolean, LienType$
     
        TF = True
    ' -------------------- Vérification Liens --------------------
        If InStr(LienValide, ":\") > 0 Then
            If Len(Dir(LienValide)) = 0 Then TF = False: LienType = " Fichier "
        ElseIf InStr(LienValide, "://") > 0 Then
            Dim oXHTTP As Object
            Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
                oXHTTP.Open "HEAD", LienValide, False
                oXHTTP.Send
                If xlErrValue Then TF = (oXHTTP.Status = 200): LienType = " Internet "
            Set oXHTTP = Nothing
        End If
     
        If TF = False Then MsgBox "Lien" & LienType & "non valide. A vérifier :" & vbCrLf & vbCrLf & LienValide: Exit Function
    ' -------------------- Fin Vérification Liens --------------------
     
    Dim OuvrirFicEtLiens As Object
        Set OuvrirFicEtLiens = CreateObject("Shell.Application")
            OuvrirFicEtLiens.Open (LienValide)
        Set OuvrirFicEtLiens = Nothing
    End Function
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  5. #25
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Voici la modification ceci ouvre bien le fichier PDF mais dois-je systématiquement faire ceci pour chaque fichier en réalisant cette ligne de commande ?

    Nom : 2018-05-12_210958.jpg
Affichages : 213
Taille : 136,8 Ko

  6. #26
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Voici la modification ceci ouvre bien le fichier PDF mais dois-je systématiquement faire ceci pour chaque fichier en réalisant cette ligne de commande ?
    Faire à chaque fois ceci non !!

    PS : je ne me suis pas remis en mode PC

    il suffit d'avoir une variable représentant le chemin du fichier; dans ton code tu l'as appelé Lien, moi je l'ai appelé MyLink
    il faudra faire correspondre à Lien ou MyLink le chemin de ton pdf à récupérer via ton code dans Private Sub CommandButton2_Click() …
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton2_Click()
     
        ' TonCode …
     
        MyLink = TonCode ' à toi de faire correspondre le chemin de ton pdf que tu as sélectionné
                       'Le résultat de MyLink doit être du même type que le chemin que tu as mis en test => "S:\Operation\ … …\ … … \NDS-2012-Interprétariat V2.pdf"
        Application.Run "OpenFicLinks", MyLink 
     
        ' TonCode …
     
    End Sub
    Cela veut dire qu'il faut avoir la fonction dans ton fichier (dans un module) et que la variable MyLink changera de chemin selon le choix que tu as fait dans ton useform donc ta sélection puis clic sur ton bouton "Affiché le document sélectionné"

    A lire absolument : VBA/ControlesUserForm
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  7. #27
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Je viens d'intégrer le code ceci ne fonctionne pas, je mets en pièce jointe le fichier avec les codes :

    Essai Fonction recherche 2018.xlsm

  8. #28
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    si tu mets la fonction dans le code du UseForm, c'est ceci qu'il faut mettre alors :
    et non ceci : Application.Run "OpenFicLinks", MyLink, à mettre seulement si la fonction est mise dans un autre module différent du module du code qui appel la fonction

    As tu lu le lien donné ??

    Concernant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyLink = "S:\Operation\CTA CODIS\Matériels Equipements\Doc Ludo Pour création fichier\Notes de Services\NDS O-17-17 Dispositions ORSEC Iode.pdf"
    c'est le code de ta listbox qui doit donner le résultat à MyLink
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyLink = Ici_Tu_Dois_Mettre_Le_Code_De_Ta_Listbox_Permettant_Dobtenir_En_Résultat_Le_Chemin_De_Ton_PDF
    Donc selon la ligne sélectionner dans ta listbox tu pourrais avoir ce résultat : "S:\Operation\CTA CODIS\Matériels Equipements\Doc Ludo Pour création fichier\Notes de Services\NDS O-17-17 Dispositions ORSEC Iode.pdf" ou
    un autre chemin selon la sélection
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  9. #29
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Oui j'ai lu le lien

    Je viens de faire la modification par " OpenFicLinks MyLink" ceci ouvre bien le fichier;

    Mais, j'ai toujours le même problème cela n'ouvre pas forcément le bon fichier, cela ouvre toujours le même ou y a t il une autre solution simplement en supprimant le bouton "ouvrir le fichier" simplement en cliquant directement dans la " Listbox" afin d'éviter de passer par le bouton.

    merci

  10. #30
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonsoir,

    Oui j'ai lu le lien
    Lire est une chose, le comprendre en est une autre …
    et je n'ai pas l'impression que tu fais l'effort de comprendre
    Dans le lien il y a les explications sur les ListBox et même si cela n'est pas suffisant il y a des tuto sur Youtube avec les ListBox

    Peut être tu te demandes pourquoi je dis cela. … tout simplement par ce que les simples explications données tu ne les as pas compris et pourtant c'est textuellement compréhensible !!!
    Quand je mets MyLink = Ici_Tu_Dois_Mettre_Le_Code_De_Ta_Listbox_Permettant_Dobtenir_En_Résultat_Le_Chemin_De_Ton_PDF

    cela veut dire quoi ? :

    • on ne met pas le chemin textuellement, car la valeur est une variable, donc qui change selon la sélection dans ta ListBox => code de la ListBox correspondant à la sélection dans celle-ci.
    • Mettre_Le_Code_De_Ta_Listbox => lequel ? Celui qui permet d'obtenir en résultat le chemin de ton PDF
    => Donc ton chemin doit se trouver dans les données que tu insères dans tes feuilles Excel qui doit être sous cette forme dans une cellule : S:\Operation\CTA CODIS\Matériels Equipements\Doc Ludo Pour création fichier\Notes de Services\NDS O-17-17 Dispositions ORSEC Iode.pdf

    A quel moment fais tu apparaitre tes données dans ta ListBox ?? => Via le bouton Recherche qui va actionner le code que tu as fait afin de remplir ta ListBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub CommandButton1_Click()
        Dim c
        mot = rech.Value
        For Each sh In Worksheets
            If sh.Name <> "Recherche" Then
                            With sh.Range("F5:F500")
                    Set c = .Find(mot, lookAt:=xlPart)
                    If Not c Is Nothing Then
                        firstAddress = c.Address
                        Do
                            With ListBox1
                                .AddItem
                                .List(.ListCount - 1, 0) = sh.Name
                                .List(.ListCount - 1, 1) = Replace(c.Address, "$", "")
                                .List(.ListCount - 1, 2) = c.Offset(-3, 0)
                                .List(.ListCount - 1, 3) = c.Offset(-2, 0)
                                .List(.ListCount - 1, 4) = c.Offset(-1, 0)
                                .List(.ListCount - 1, 5) = c
                            End With
                            Set c = .FindNext(c)
                        Loop While Not c Is Nothing And c.Address <> firstAddress
                    End If
                End With
            End If
        Next
    End Sub
    Donc tu dois te débrouiller pour récupérer le lien via ce procéder/code ci-dessus
    Pour info ta ListBox récupère le nom de la feuille et l'adresse de la cellule

    Donc même dans le cas où tu ne voudrais pas faire apparaitre ton lien dans ta ListBox,
    tu pourrais avec ces 2 infos obtenir le lien qui devrait se trouver dans une cellule adjacente de la même ligne

    Qu'est ce qui te permet de récupérer ton lien => les infos de ta ListBox et par conséquent la ligne sélectionner dans ta ListBox permettant de récupérer les infos nécessaire
    Un exemple pour te montrer que j'ai récupérer l'info en colonne 6 (j'ai juste taper "AD" dans la recherche de ton ancien fichier) et autres - je te laisse comprendre seul …
    tu devras adapter le code pour obtenir le résultat voulue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton2_Click()
        With ListBox1
            If .ListIndex = -1 Then Exit Sub
            MsgBox .List(.ListIndex, 5) 'le 1è colonne commence à zéro donc là on à la colonne 6
            MsgBox .List(.ListIndex, 0) & " - " & .List(.ListIndex, 1)
            Application.Goto Sheets(.List(.ListIndex, 0)).Range("G" & Mid(.List(.ListIndex, 1), 2))
            MsgBox Sheets(.List(.ListIndex, 0)).Range("G" & Mid(.List(.ListIndex, 1), 2)).Value
        End With
    End Sub
    PS : Concernant les liens hypertexte il suffit d'aller voir la Faq
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  11. #31
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

Discussions similaires

  1. ouvrir lien hypertexte dans un programme autre que IE
    Par Oh!Tofocus dans le forum Excel
    Réponses: 3
    Dernier message: 04/04/2010, 12h16
  2. Ouvrir fichier PDF à partir lien hypertexte
    Par ln0331 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 03/12/2007, 13h43
  3. Liens hypertext dans fichier pdf
    Par orphean dans le forum Mise en forme
    Réponses: 23
    Dernier message: 27/07/2007, 13h26
  4. Ouvrir fichier sur lien hypertexte dans une liste
    Par JimmyB dans le forum Access
    Réponses: 10
    Dernier message: 18/10/2006, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo