Ouvrir fichier pdf avec un chiffre contenu dans le nom du fichier
Fermé
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
-
9 mai 2019 à 19:58
f894009 Messages postés 17181 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 mars 2024 - 18 mai 2019 à 18:47
f894009 Messages postés 17181 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 mars 2024 - 18 mai 2019 à 18:47
A voir également:
- Ouvrir fichier pdf avec un chiffre contenu dans le nom du fichier
- Fichier rar - Guide
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Comment ouvrir un fichier docx ? - Guide
16 réponses
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
Modifié le 9 mai 2019 à 21:23
Modifié le 9 mai 2019 à 21:23
Bonjour,
Tu n'est pas loin de la solution :
Au moment de l'ouverture, l'Astérix ne peut être dans le nom du fichier. Ici l'astérix est un caractère qui spécifie n'importe quel caractère.
K
Tu n'est pas loin de la solution :
If Dir(Chemin & NFichier & ".pdf") <> "" Then ThisWorkbook.FollowHyperlink Chemin & NFichier & ".pdf"
Au moment de l'ouverture, l'Astérix ne peut être dans le nom du fichier. Ici l'astérix est un caractère qui spécifie n'importe quel caractère.
K
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
9 mai 2019 à 21:35
9 mai 2019 à 21:35
Bonsoir Kalissi
Merci pour ton attention
J'ai modifié mais ça ne fonctionne pas non plus.
1) il me bloque a ELSE
2) après suppression de ELSE me dit fichier introuvable
Merci pour ton attention
J'ai modifié mais ça ne fonctionne pas non plus.
1) il me bloque a ELSE
2) après suppression de ELSE me dit fichier introuvable
Private Sub CommandButton3_Click()
Dim Chemin As String
Dim NFichier As String
NFichier = "-Facture N°" & Cbo_N°Facture.Value
Chemin = "D:\WILLY\Devis-Factures-2019\FACTURES-PDF\Factures\"
'NFichier = "-Facture N°" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf"
If Dir(Chemin & NFichier & ".pdf") <> "" Then ThisWorkbook.FollowHyperlink Chemin & NFichier & ".pdf"
: MsgBox "Fichier '" & NFichier & "' introuvable..."
End Sub
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
10 mai 2019 à 16:21
10 mai 2019 à 16:21
Bonjour,
J'ai quelque peu modifier ton code mais celui-ci fonctionne sous Excel 2013 ...
Il est à noter, que je ne place jamais de caractères accentué dans le code ...
J'ai retirer le caractère "°", le caractère qui succède à "N" ... "-Facture N°"
K
J'ai quelque peu modifier ton code mais celui-ci fonctionne sous Excel 2013 ...
Private Sub BtnExecuter_Click() Dim Chemin As String Dim NFichier As String 'NFichier = "-Facture N" & cboNoFacture.Value NFichier = "MN" & cboNoFacture.Value '& ".pdf" 'Chemin = "D:\WILLY\Devis-Factures-2019\FACTURES-PDF\Factures\" Chemin = "C:\Document\Dev\Excel_VBA\Test\" 'NFichier = "-Facture N°" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf" If Dir(Chemin & NFichier & "*.pdf") <> "" Then ThisWorkbook.FollowHyperlink Chemin & NFichier & ".pdf" Else MsgBox "Fichier '" & NFichier & "' introuvable..." End If End Sub
Il est à noter, que je ne place jamais de caractères accentué dans le code ...
J'ai retirer le caractère "°", le caractère qui succède à "N" ... "-Facture N°"
K
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
10 mai 2019 à 17:43
10 mai 2019 à 17:43
Bonjour kalissi,
Je suis en déplacement je regarde ca demaon des mon retour .
Merci a toi
--
Je suis en déplacement je regarde ca demaon des mon retour .
Merci a toi
--
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
12 mai 2019 à 00:56
12 mai 2019 à 00:56
Bonjour Kalissi,
Merci pour ton retour
ce code fonctionne mais il ne prend en compte que le début du nom de fichier a savoir " -Facture No5"
le souci c'est que mes fichiers ne sont pas nommés comme ça :
mais plutôt comme ça :
-Facture N°5-Nom du client-Client N°113-01-04-19
avec cette ligne de code
donc le code suivant fonctionne bien mais pour cela il faudrait que je renomme tout mes fichiers
ce qui n'est pas possible parce que j'ai besoin des infos du titre lors de l'enregistrement du fichier.
Merci pour ton retour
ce code fonctionne mais il ne prend en compte que le début du nom de fichier a savoir " -Facture No5"
le souci c'est que mes fichiers ne sont pas nommés comme ça :
mais plutôt comme ça :
-Facture N°5-Nom du client-Client N°113-01-04-19
avec cette ligne de code
NFichier = "-Facture N°" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf"
donc le code suivant fonctionne bien mais pour cela il faudrait que je renomme tout mes fichiers
ce qui n'est pas possible parce que j'ai besoin des infos du titre lors de l'enregistrement du fichier.
Private Sub CommandButton3_Click()
Dim Chemin As String
Dim NFichier As String
NFichier = "-Facture No" & Cbo_NoFacture.Value
'NFichier = "MN" & cboNoFacture.Value '& ".pdf"
Chemin = "D:\WILLY\Devis-Factures-2019\FACTURES-PDF\Factures\"
'Chemin = "C:\Document\Dev\Excel_VBA\Test\"
'NFichier = "-Facture N°" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf"
If Dir(Chemin & NFichier & ".pdf") <> "" Then
ThisWorkbook.FollowHyperlink Chemin & NFichier & ".pdf"
Else
MsgBox "Fichier '" & NFichier & "' introuvable..."
End If
End Sub
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
13 mai 2019 à 14:15
13 mai 2019 à 14:15
Bonjour,
En fait, il te suffit de construire le nom du fichier pas à pas.
Je m'explique :
Au lieu de construire le nom au complet, construit le par étape dans un premier temps ...
etc ...
Une fois que tu auras obtenu le bon nom de fichier, tu pourra refactoriser la ligne.
K
En fait, il te suffit de construire le nom du fichier pas à pas.
Je m'explique :
Au lieu de construire le nom au complet, construit le par étape dans un premier temps ...
NFichier = "-Facture N°" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf"
NFichier = "-Facture N°" & Range("F2").Value
NFichier = "-Facture N°" & Range("F2").Value & "-" & Range("F9").Value
etc ...
Une fois que tu auras obtenu le bon nom de fichier, tu pourra refactoriser la ligne.
K
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
13 mai 2019 à 16:39
13 mai 2019 à 16:39
Bonjour,
Si j'ai bien compris le code se décompose comme ça
ça ne fonctionne pas.
Si j'ai bien compris le code se décompose comme ça
ça ne fonctionne pas.
Private Sub EXPORT_FACTURE_PDF_Click()
Dim Chemin As String
Dim NFichier As String
Chemin = "D:\WILLY\Devis-Factures-2019\FACTURES-PDF\Factures\"
'NFichier = "-Facture No" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") & ".pdf"
NFichier = "-Facture No" & Range("F2").Value
NFichier = "-Facture No" & Range("F2") & "-" & Range("F9").Value
NFichier = "-Facture No" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2").Value
NFichier = "-Facture No" & Range("F2") & "-" & Range("F9") & "-" & "Client N°" & Range("H2") & "-" & Format(Now, "dd-mm-yy") ' & ".pdf"
Worksheets("FACTURE").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NFichier, Quality _
:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
13 mai 2019 à 18:31
13 mai 2019 à 18:31
Salut,
Je pensais que tu pourrais suivre les lignes en mode pas à pas.
Connais-tu le mode pas à pas (debug) sous l'éditeur de visual basic.
Donc, si tu place un point d'arrêt à la première ligne :
NFichier = "-Facture No" & Range("F2").Value
NFichier doit être égale à [-Facture No[Valeur de la cellule F2]]
à la seconde ligne :
NFichier = "-Facture No" & Range("F2").Value & "-" & Range("F9").Value
NFichier doit être égale à [-Facture No[Valeur de la cellule F2]-[Valeur de la cellule F9]].
Le but bien sur est de s'assurer que le nom du fichier est bien construit.
note : NFichier = "-Facture No" & Range("F2").Value ~ NFichier = "-Facture No" & Range("F2")
Le point value [.Value] n'est qu'une façon explicite de capturer la valeur de la cellule.
Si tu as plus d'une feuille dans ton classeur, il est possible que tu doives spécifié la feuille :
NFichier = "-Facture No" & Sheets("MaFeuille").Range("F2").Value etc ...
K
Je pensais que tu pourrais suivre les lignes en mode pas à pas.
Connais-tu le mode pas à pas (debug) sous l'éditeur de visual basic.
NFichier = "-Facture No" & Range("F2").Value NFichier = "-Facture No" & Range("F2").Value & "-" & Range("F9").Value NFichier = "-Facture No" & Range("F2"").Value) & "-" & Range("F9").Value & "-" & "Client N°" & Range("H2").Value NFichier = "-Facture No" & Range("F2").Value & "-" & Range("F9").Value & "-" & "Client N°" & Range("H2").Value & "-" & Format(Now, "dd-mm-yy") ' & ".pdf"
Donc, si tu place un point d'arrêt à la première ligne :
NFichier = "-Facture No" & Range("F2").Value
NFichier doit être égale à [-Facture No[Valeur de la cellule F2]]
à la seconde ligne :
NFichier = "-Facture No" & Range("F2").Value & "-" & Range("F9").Value
NFichier doit être égale à [-Facture No[Valeur de la cellule F2]-[Valeur de la cellule F9]].
Le but bien sur est de s'assurer que le nom du fichier est bien construit.
note : NFichier = "-Facture No" & Range("F2").Value ~ NFichier = "-Facture No" & Range("F2")
Le point value [.Value] n'est qu'une façon explicite de capturer la valeur de la cellule.
Si tu as plus d'une feuille dans ton classeur, il est possible que tu doives spécifié la feuille :
NFichier = "-Facture No" & Sheets("MaFeuille").Range("F2").Value etc ...
K
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
13 mai 2019 à 23:05
13 mai 2019 à 23:05
Bonsoir kalissi,
Non je ne connais pas le mode pas à pas (debug) sous l'éditeur de visual basic.
en fait je ne connais pas grand chose au Vba.
le fichier je l'ai construis avec plusieurs personnes qui m'ont aidé comme tu le fait
j'ai adapté les codes et les exemples qui m'ont été fourni pour en arrivé là.
j'ai passer beaucoup de temps à le construire mais sur ce dernier point je bloque et si je ne trouve pas de solution j'abandonnerai cette idée.
en tout cas je te remercie pour le temps que tu y consacre.
j'ai essayer de bidouiller le code dans tous les sens mais sans résultat.
Non je ne connais pas le mode pas à pas (debug) sous l'éditeur de visual basic.
en fait je ne connais pas grand chose au Vba.
le fichier je l'ai construis avec plusieurs personnes qui m'ont aidé comme tu le fait
j'ai adapté les codes et les exemples qui m'ont été fourni pour en arrivé là.
j'ai passer beaucoup de temps à le construire mais sur ce dernier point je bloque et si je ne trouve pas de solution j'abandonnerai cette idée.
en tout cas je te remercie pour le temps que tu y consacre.
j'ai essayer de bidouiller le code dans tous les sens mais sans résultat.
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
Modifié le 14 mai 2019 à 14:55
Modifié le 14 mai 2019 à 14:55
Bonjour,
Je vais tenter de t'expliquer comment faire le mode pas à pas.
1.) Ouvrir VBE (Visual Basic Editor).
2.) Dans la fenêtre du code, tu place ton curseur sur le première ligne de code de la méthode.
À gauche de cette ligne, clic sur la barre de défilement qui n'existe pas à gauche.
Un point noir devrait apparaitre et toute la ligne sera surligné.
Dans la barre d'outils, tu devrait repérer un petit triangle vert, c'est le "run".
Une fois le programme lancé, il s'arrêtera là où tu as mis un point d'arrêt.
Ensuite à l'aide de la touche "F8" ou l'icone de la barre d'outils "pas à pas détaillé",
tu suivra l'exécution ligne par ligne.
Il m'apparait évident que c'est la construction du nom de fichier qui est le problème.
Et avec le mode pas à pas, tu devrait trouver le problème.
Lorsque le programme est en mode pas à pas, tu peux cliquer sur une variable, clic droit,
menu contextuel, "Ajouter un espion", ainsi tu pourra suivre aisément la construction du nom de fichier.
Je continue de suivre le fil ...
K
Je vais tenter de t'expliquer comment faire le mode pas à pas.
1.) Ouvrir VBE (Visual Basic Editor).
2.) Dans la fenêtre du code, tu place ton curseur sur le première ligne de code de la méthode.
NFichier = "-Facture No" & Range("F2").Value
À gauche de cette ligne, clic sur la barre de défilement qui n'existe pas à gauche.
Un point noir devrait apparaitre et toute la ligne sera surligné.
Dans la barre d'outils, tu devrait repérer un petit triangle vert, c'est le "run".
Une fois le programme lancé, il s'arrêtera là où tu as mis un point d'arrêt.
Ensuite à l'aide de la touche "F8" ou l'icone de la barre d'outils "pas à pas détaillé",
tu suivra l'exécution ligne par ligne.
Il m'apparait évident que c'est la construction du nom de fichier qui est le problème.
Et avec le mode pas à pas, tu devrait trouver le problème.
Lorsque le programme est en mode pas à pas, tu peux cliquer sur une variable, clic droit,
menu contextuel, "Ajouter un espion", ainsi tu pourra suivre aisément la construction du nom de fichier.
Je continue de suivre le fil ...
K
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
14 mai 2019 à 16:25
14 mai 2019 à 16:25
Bonjour kalissi
Malgré tes explications je ne m'en sors pas j'ai le cerveau qui fume
eh oui suis pas doué !
je te transmet le lien pour telecharger mon fichier si tu n'y vois d’inconvénient et si le cœur tant dit.
https://1fichier.com/?bvvykd64ig5br2rqyddj
Malgré tes explications je ne m'en sors pas j'ai le cerveau qui fume
eh oui suis pas doué !
je te transmet le lien pour telecharger mon fichier si tu n'y vois d’inconvénient et si le cœur tant dit.
https://1fichier.com/?bvvykd64ig5br2rqyddj
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
14 mai 2019 à 18:25
14 mai 2019 à 18:25
Salut,
Je regarde et te reviens ...
K
Je regarde et te reviens ...
K
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
17 mai 2019 à 00:29
17 mai 2019 à 00:29
Salut,
désolé, je ne réussi pas à télécharger le fichier ...
j'ai essayé de deux endroits différents ...
mais rien n'y fait ...
et je n'ai pas vraiment le goût d'ouvrir la sécurité sur mes machines ...
peut-être un nouvel essai ici : https://www.cjoint.com/
n.b. évite les données sensibles
K
désolé, je ne réussi pas à télécharger le fichier ...
j'ai essayé de deux endroits différents ...
mais rien n'y fait ...
et je n'ai pas vraiment le goût d'ouvrir la sécurité sur mes machines ...
peut-être un nouvel essai ici : https://www.cjoint.com/
n.b. évite les données sensibles
K
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
Modifié le 17 mai 2019 à 08:02
Modifié le 17 mai 2019 à 08:02
Bonjour,
Kalissi
J'ai retirer le caractère "°", le caractère qui succède à "N" ... "-Facture N°"
En effet dans du code oui, mais dans du texte pas de probleme.
mokuht
Une idee aussi sote que grenue, le fichier existe reelement au moins???
Car votre code marche au detail pres de la ligne du dessus
Kalissi
J'ai retirer le caractère "°", le caractère qui succède à "N" ... "-Facture N°"
En effet dans du code oui, mais dans du texte pas de probleme.
mokuht
Une idee aussi sote que grenue, le fichier existe reelement au moins???
Car votre code marche au detail pres de la ligne du dessus
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
17 mai 2019 à 09:01
17 mai 2019 à 09:01
Bonjour Kalissi
le fichier est nettoyé de toutes données sensibles
j'ai effectivement enlevé les "°" et remplacé comme tu me l'a dit par "o" minuscule
et pour répondre à ta question oui les fichiers existent tu les as en haut du fil
et le chemin repertoire aussi
sauf que maintenant je les ai renommé avec le "o"
comme ceci : -Facture No5-Nom du client-Client N°113-01-04-19
voici le fichier complet avec mes 2 types de devis ou j'ai adapté les codes pour chacun d'entre eux.
https://www.cjoint.com/c/IErgZFtxbLT
Merci a toi.
le fichier est nettoyé de toutes données sensibles
j'ai effectivement enlevé les "°" et remplacé comme tu me l'a dit par "o" minuscule
et pour répondre à ta question oui les fichiers existent tu les as en haut du fil
et le chemin repertoire aussi
sauf que maintenant je les ai renommé avec le "o"
comme ceci : -Facture No5-Nom du client-Client N°113-01-04-19
voici le fichier complet avec mes 2 types de devis ou j'ai adapté les codes pour chacun d'entre eux.
https://www.cjoint.com/c/IErgZFtxbLT
Merci a toi.
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
17 mai 2019 à 18:07
17 mai 2019 à 18:07
Re,
Oui, mais y a toujours un probleme ou pas!!!!!!!!
Oui, mais y a toujours un probleme ou pas!!!!!!!!
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
17 mai 2019 à 18:26
17 mai 2019 à 18:26
Bonjour oui le problème persiste
--
--
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
17 mai 2019 à 20:37
17 mai 2019 à 20:37
Re,
Si personne ne prend la suite, je regarde la chose demain matin
Si personne ne prend la suite, je regarde la chose demain matin
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
Modifié le 18 mai 2019 à 08:55
Modifié le 18 mai 2019 à 08:55
Bonjour,
CLIENTA et B surement pareil:
A quoi sert de faire un choix avec votre combobox si vous prenez les valeurs dans DEVISA avec en plus la date du jour pour afficher un PDF autre ?????????????????????????????????????????????????????????
Suite:
Si numero de facture unique
CLIENTA et B surement pareil:
A quoi sert de faire un choix avec votre combobox si vous prenez les valeurs dans DEVISA avec en plus la date du jour pour afficher un PDF autre ?????????????????????????????????????????????????????????
Suite:
Si numero de facture unique
Private Sub CmD_Affiche_PDF_Click() Dim Chemin As String Dim NFichier As String Dim Nomclient, N?client As String, Fichier NFichier = "-Facture No" & Cbo_NoFacture.Value & "*.pdf" Chemin = "D:\WILLY\Devis-Factures-2019\FACTURES-PDF\Factures\" If Dir(Chemin & NFichier) <> "" Then Fichier = Dir(Chemin & NFichier) ThisWorkbook.FollowHyperlink Chemin & Fichier Else MsgBox "Fichier '" & NFichier & "' introuvable..." End If End Sub
mokuht
Messages postés
13
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 mai 2019
18 mai 2019 à 16:48
18 mai 2019 à 16:48
Bonjour et merci pour le code
ça fonctionne très bien
Désolé de ne pas avoir construit ce fichier dans les règles.
je l'ai pensé au fur et à mesure sans savoir jusqu’où je pourrai aller, et essayé de l’améliorer au coup par coup en tant que néophyte.
le fonctionne parfaitement.
Merci pour ton temps.
ça fonctionne très bien
Désolé de ne pas avoir construit ce fichier dans les règles.
je l'ai pensé au fur et à mesure sans savoir jusqu’où je pourrai aller, et essayé de l’améliorer au coup par coup en tant que néophyte.
le fonctionne parfaitement.
Merci pour ton temps.
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
18 mai 2019 à 18:47
18 mai 2019 à 18:47
Re,
Désolé de ne pas avoir construit ce fichier dans les règles.
Pas grave, y a pas d'lezard
Désolé de ne pas avoir construit ce fichier dans les règles.
Pas grave, y a pas d'lezard