Importation d'un fichier PDF ou JPEG - Excel VBA
Bonjour à tous,
J’espère que vous allez bien,
Dans mon fichier en pièce jointe, j'ai une feuille nommée "Feuil1" qui permet de lancer un petit formulaire et une autre feuille nommée "ACTE" qui enregistre les informations d’un acte de naissance.
Je rappelle que ce fichier a été réalisé grâce à votre aide à tous, mais j’aimerai l’améliorer un peu plus.
Aussi, j’aimerai que lorsque je lance mon formulaire et que je saisi l’ensemble des informations contenus sur un acte de naissance, en cliquant sur le bouton « IMPORTATION », une fenêtre s’ouvre et me permet de sélectionner mon fichier au format PDF ou JPEG. Une fois que cela est fait, en cliquant sur le bouton « VALIDER », le fichier importé doit-être stocké dans le disque « C:\ » de l’ordinateur, plus précisément dans le dossier « C:\XXX ».
J’aimerai également que dans le textbox « txtImportation » qui se trouve en face du bouton « IMPORTATION », celui-ci donne un nom qui regroupera le contenu des champs N° ACTE, le premier NOM, le JOUR DE NAISSANCE ainsi que l’ABREVIATION.
Pour terminer, en cliquant sur le bouton « VALIDER », les informations du formulaire s’enregistre dans la feuille nommée « ACTE »
Toutes mes tentatives ont été vaine jusqu’à présent, raison pour laquelle j’en appelle à votre aide.
Je reste disponible en cas d’informations supplémentaires,
Dans l’attente vos retour s’il vous plait,
Cordialement
Bonjour Past007, ce sera tout
Il est préférable de faire un poste par demande et non une multitude de demandes dans un post !
Pour ouvrir et copier le fichier sélectionner, voici ce que vous pouvez utiliser
Dans un module, la fonction suivante
Function ChoixFichier(DefaultPath As String, sTitre As String)
Dim fd As FileDialog
' Initialiser les variables
If Right(DefaultPath, 1) <> "\" Then DefaultPath = DefaultPath & "\"
' Initialiser l'intance du dialogue
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
.Filters.Add "Document", "*.jpg; *.pdf", 1
.Title = sTitre
.InitialFileName = DefaultPath
If .Show = -1 Then
ChoixFichier = fd.SelectedItems(1)
End If
End With
Set fd = Nothing
End FunctionDans le code de votre bouton de l'USF après l'avoir renommé "Cbn_Imporation", celui-ci
Private Sub Cbn_Importation_Click()
Dim sPathDoc As String, sNomFic As String, sExt As String
sPathDoc = ChoixFichier(ThisWorkbook.Path, "CHOIX du DOCUMENT")
sExt = Right(sPathDoc, 4)
sNomFic = Me.txtN°Acte & " " & Me.txtNom & " " & Replace(Me.txtJourNaiss, "dd.mm.yyyy") & Me.cboAbreviation
Me.txtImportation.Value = sNomFic
' Copier le fichier dans le dossier avec l'extension d'origine
FileCopy sPathDoc, "C:\Temp\" & sNomFic & sExt
End SubPour ce qui est de remplir l'onglet ACTE, vous avez un tas de sujets qui traitent de ça sur ce forum et ailleurs
Bonjour à tous,
Bonjour JExcel2fr.
Je fais une multitude de demandes dans un post car je n'aimerai pas revenir ici à plusieurs reprises.
Pour le remplissage de l'onglet ACTE, j'avais déjà la solution.
Je test votre solution et je vous reviens très vite
Merci encore
JExceL2fr, tu m'as demandé "si c'était tout", je te répond que NON.
Importer les fichiers c'est bien, encore il faudra trouver un moyen de les consulter plus rapidement.
J'ajouterai un formulaire de consultation et je reviens vers vous afin de savoir comment créer un lien qui "pointerai directement" sur l'acte de naissance de l'utilisateur consulté.
Dans l'attente de votre retour à tous sur l'erreur mentionné plus haut,
A très bientôt
Re,
Vous n'avez pas l'auto information sur votre PC
Dans replace, vous supprimez la première virgule et vous la ressaisissez et vous devriez obtenir
J'ai saisi l'instruction n'importe comment à la "one again"
Replace(Me.txtJourNaiss, "/", ".")De plus vous avez l'aide sur Microsoft (F1)
Fonction Replace (Visual Basic pour Applications) | Microsoft Learn
Merci JExcelL2fr pour ton aide,
Bonjour à tous,
J’espère que vous allez bien,
(Fichier en pièce joint)
Comme je vous le disais hier, j’ai pu améliorer le fichier en y ajoutant un formulaire permettant de faire la recherche sur les personnes présente dans la feuille nommée "ACTE".
Pour cela, j’ai ajouté un bouton « CONSULTER » qui est disponible en allant sur la feuille nommée "Feuil1" et en cliquant sur le bouton « Lancer le formulaire ».
Par exemple, si je recherche SOPHIE LA PIX, qui est dans le fichier "ACTE" à la ligne 4, il me suffit de cliquer sur le bouton « CONSULTER » et dans la fenêtre qui s’affiche, je saisi le numéro 3 (3 est sur la colonne A et correspondant à son MATRICULE). En cliquant sur OK, j’ai un formulaire qui me remonte toutes les informations de SOPHIE LA PIX.
Mais les soucis c’est que j’aimerai, qu’en cliquant sur le bouton « AFFICHEZ LE DOCUMENT », je puisse visualiser ou affichez l’acte de naissance de SOPHIE LA PIX, que j’ai (préalablement importé) dans le dossier (C:\Temp\)
Et là, je n’ai pas le niveau pour faire ce genre de code, raison pour laquelle j’en appelle à nouveau à l’aide.
Je reste disponible en cas d’informations supplémentaires,
Dans l’attente vos retour s’il vous plait,
Cordialement
Re,
J'ai un TextBox qui contient le chemin et le nom du fichier, voici le code derrière le bouton "Visualiser"
Private Sub CbnVisualiser_Click()
Dim ChoixFic As String
ChoixFic = Me.TbCheminFic.Value
ShellExecute 0, "open", ChoixFic, vbNullString, "C:\Windows", SW_SHOWMAXIMIZED
End SubA+
Merci JExcelL2fr pour ton aide,
1.Dans mon formulaire "frmConsult"', j'ai ajouté un TextBox nommé "TbCheminFic" qui contient le nom du fichier, mais je ne sais pas comment intégré le chemin vers ce fichier. (voir capture d'écran 1)
2. Dans le bouton AFFICHEZ LE DOCUMENT, j'ai ajouté le code que tu as donné mais il me produit une erreur en cliquant dessus (voir capture d'écran 2).
Mais connaissance en vba sont limité pour comprendre ce genre d'erreur, raison pour laquelle je me tourne à nouveau vers vous.
(Fichier en pièce joint)
Dans l’attente vos retours s’il vous plait,
Cordialement
Bonsoir à tous,
Hormis JExcelL2fr, personne pour m'aider s'il vous plait ?
Je suis vraiment dans le besoin.
Merci d'avance
Bonjour à tous,
Bonjour JExcelL2fr,
J'espère que vous allez bien.
Après 2 jours de recherche, j'ai finalement trouvé la solution à mon problème.
Ci-dessous, le code qu'il fallait mettre dans le bouton "CbnVisualiser" du userform "frmConsult"'.
Dim a As String
a = "C:\Temp\" & TbCheminFic.Value & ".pdf"
Application.DisplayAlerts = False
ThisWorkbook.FollowHyperlink (a)
Application.DisplayAlerts = FalseMerci encore pour votre aider.
Je reste disponible au cas où quelqu'un voudra me proposer quelque chose de mieux.
Je reviendrai, vers vous, en cas de nouvelle demande.
Merci à vous !!!
