Bouton "parcourir" sur un formulaire
Bonjour à tous,
Je souhaite créer un petit programme excel, appelons le "MonProjet". Il me faut un formulaire (userform) permettant à l'utilisateur de charger/importer un fichier excel déjà mis en forme; du type: première colonne "Activité", deuxième "Date de dernière réalisation", troisième "Nom de l'agent aillant réalisé l'activité".
Ce fichier excel importé, permettrait d'alimenter/compléter la base de donnée déjà pré-existante de "MonProjet". En pratique, je souhaiterais voir apparaître ceci sur mon formulaire:
Mes questions sont les suivantes:
1) Comment adjoindre cette fonctionnalité à mon formulaire ?
2) Une fois le fichier excel chargé, où est-il ? Comment l'utiliser ? Comment accéder à ses informations/données ? Comment le supprimer une fois que les information importantes ont-été récupérée ?
Je vous remercie d'avance pour votre aide
Bonjour,
Un début de piste. Sur ton formulaire tu pose 1 CommandButton nommé "CmdParcourir", un second CommandButton nommé "CmdUtiliser" puis un Label nommé "LblFichier" puis tu colle le code ci-dessous dans le module du formulaire puis tu le lance :
Private Sub CmdParcourir_Click()
Dim Fich
Fich = Fichier
If Fich <> "" Then LblFichier.Caption = Fich
If LblFichier.Caption <> "Aucun fichier sélectionné." Then CmdUtiliser.Enabled = True
End Sub
Function Fichier() As String
'1 ouvrir un fichier
'2 enregistrement de fichier
'3 sélection de fichier
'4 sélection de dossier
With Application.FileDialog(1)
.Show
On Error Resume Next 'si annuler
Fichier = .SelectedItems(1)
If Err.Number <> 0 Then Fichier = ""
End With
End Function
Private Sub CmdUtiliser_Click()
Dim Cls As Workbook
Set Cls = Workbooks.Open(LblFichier.Caption)
'ici commence le code pour faire ce que tu veux avec le classeur que tu viens d'ouvrir...
End SubHervé.
Re Hervé,
Ca a marché du tonnerre, je t'en remercie ! Si d'autre gens nous lisent et sont intéressés, j'ajoute un bout de code pour copier les données du fichier charger, les coller dans une nouvelle feuille du classeur principal (remarque: cette feuille est préalablement nommée "Données Provisoires") puis ferme le document chargé.
Private Sub CmdUtiliser_Click()
' Transfert du contenu chargé dans une nouvelle feuille du classeur principal
Dim Cls As Workbook, MainWB As Workbook
Set MainWB = ThisWorkbook
Set Cls = Workbooks.Open(LblFichier.Caption)
' Copie le contenu du fichier ouvert et le colle dans la feuille de données provisoires
Cls.Sheets("Feuil1").Cells.Copy MainWB.Sheets("Données Provisoires").Range("A1")
Cls.Close True 'Ferme le fichier "chargé
End SubBonjour,
SVP je voulais faire la même chose , j'ai copier le programme mais ça n'a pas marcher pour moi je sais pas pourquoi!!! y'a aucun erreur mais pourtant ça fonctionne pas !
j'attend une réponse de votre part , merci d'avance !