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

8insertion-05.xlsm (35.71 Ko)

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 Function

Dans 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 Sub

Pour 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

Bonjour à tous,

J'ai testé le code fourni par JExcel2fr, et au moment d'importer le fichier en cliquant sur le bouton "IMPORTATION", j'ai le message d'erreur ci-dessous :

Je joins le fichier vba.

Merci encore pour votre aide

image

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

image

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

9insertion-06.xlsm (47.00 Ko)

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 Sub

A+

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

12insertion-07.xlsm (49.85 Ko)
image image

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 = False

Merci 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 !!!

Rechercher des sujets similaires à "importation fichier pdf jpeg vba"