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
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
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 !!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 ?
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() …
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é"
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
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
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
Bonjour,
si tu mets la fonction dans le code du UseForm, c'est ceci qu'il faut mettre alors :
et non ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part OpenFicLinks MyLinkApplication.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 :
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 = "S:\Operation\CTA CODIS\Matériels Equipements\Doc Ludo Pour création fichier\Notes de Services\NDS O-17-17 Dispositions ORSEC Iode.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
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
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
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
Bonsoir,
Lire est une chose, le comprendre en est une autre …Oui j'ai lu le lien
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 :
Donc tu dois te débrouiller pour récupérer le lien via ce procéder/code ci-dessus
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
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 :
PS : Concernant les liens hypertexte il suffit d'aller voir la Faq
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
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
Salut, à titre de curiosité voir Visualisation d'une liste de fichiers PDF dans une UserForm via IExplorer
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager