Programme pour sélection fichier excel sur disque dur
Résolu/Fermé
Foudegc
Messages postés
5
Date d'inscription
vendredi 15 novembre 2013
Statut
Membre
Dernière intervention
14 avril 2014
-
15 nov. 2013 à 22:49
Foudegc Messages postés 5 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 14 avril 2014 - 8 déc. 2013 à 13:36
Foudegc Messages postés 5 Date d'inscription vendredi 15 novembre 2013 Statut Membre Dernière intervention 14 avril 2014 - 8 déc. 2013 à 13:36
A voir également:
- Programme pour sélection fichier excel sur disque dur
- Cloner disque dur - Guide
- Defragmenter disque dur - Guide
- Fichier rar - Guide
- Chkdsk disque dur externe - Guide
- Remplacer disque dur par ssd - Guide
6 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
16 nov. 2013 à 14:30
16 nov. 2013 à 14:30
Bonjour,
Un classeur exemple qui te donneras des idées.
A+
Un classeur exemple qui te donneras des idées.
A+
Foudegc
Messages postés
5
Date d'inscription
vendredi 15 novembre 2013
Statut
Membre
Dernière intervention
14 avril 2014
17 nov. 2013 à 16:21
17 nov. 2013 à 16:21
Merci ! Pour l'instant j'ai réussi à créer une listbox qui me permet d'afficher les fichiers excel contenus dans le dossier souhaité. Par contre, je suis bloqué pour la suite...
En effet, le but de mon projet informatique est d'élaborer un programme vba qui me permettra de réaliser les tâches suivantes :
1)- Sélection d'un classeur excel dans un dossier
2)- Stockage de diverses informations (rédacteur du document, date, etc...) du classeur sélectionné dans le classeur actuel (afin qu'il serve comme une base de données) tout en sachant que pour les fichiers pouvant être selectionné dans le dossier, les informations se trouveront toujours dans les mêmes cases d'un fichier à un autre (ex :rédacteur toujours dans la case B8, date de création toujours dans la case A5 etc...)
Comment à partir de cette listbox pouvons-nous donc sélectionner le classeur souhaité et aller y chercher les informations voullus pour réussir à les stocker dans notre fichier excel? (afin qu'il serve comme une base de données)
Voici le fichier réalisé :
https://docs.google.com/file/d/0B4v9wF_bSM76UVVQWVhlZF9mUnM/edit
En espérant avoir été clair dans la description du problème. Encore une fois, merci d'avance.
En effet, le but de mon projet informatique est d'élaborer un programme vba qui me permettra de réaliser les tâches suivantes :
1)- Sélection d'un classeur excel dans un dossier
2)- Stockage de diverses informations (rédacteur du document, date, etc...) du classeur sélectionné dans le classeur actuel (afin qu'il serve comme une base de données) tout en sachant que pour les fichiers pouvant être selectionné dans le dossier, les informations se trouveront toujours dans les mêmes cases d'un fichier à un autre (ex :rédacteur toujours dans la case B8, date de création toujours dans la case A5 etc...)
Comment à partir de cette listbox pouvons-nous donc sélectionner le classeur souhaité et aller y chercher les informations voullus pour réussir à les stocker dans notre fichier excel? (afin qu'il serve comme une base de données)
Voici le fichier réalisé :
https://docs.google.com/file/d/0B4v9wF_bSM76UVVQWVhlZF9mUnM/edit
En espérant avoir été clair dans la description du problème. Encore une fois, merci d'avance.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
17 nov. 2013 à 17:05
17 nov. 2013 à 17:05
Essaye ce code
Adapter les noms des feuilles bien entendu
Dim Repertoire As String, nf
Private Sub CommandButton1_Click()
Repertoire = "C:\Users\Pierre\Desktop\Project\" 'dossier ou sont stockés les fichiers'
nf = Dir(Repertoire & "*.xlsm") 'fonction dir pour selectionner fichier'
Do While nf <> ""
Cbfile.AddItem nf 'alimenter la ListBox
nf = Dir
Loop
Cbfile.ListIndex = 0 'afficher 1er classeur
End Sub
Private Sub CommandButton2_Click()
Dim Wkb As Workbook
Dim LigneVide As Long
Set Wkb = Workbooks.Open(Repertoire & Cbfile.List(Cbfile.ListIndex))
With ThisWorkbook.Sheets("Feuil1") 'adapter nom de la feuille
LigneVide = .Cells(Rows.Count, 2).End(xlUp).Row + 1 'adapter la colonne
.Cells(LigneVide, 1) = Wkb.Sheets("Feuil1").Range("B8")
.Cells(LigneVide, 2) = Wkb.Sheets("Feuil1").Range("A5")
'..... etc
End With
Wkb.Close
End Sub
Adapter les noms des feuilles bien entendu
Foudegc
Messages postés
5
Date d'inscription
vendredi 15 novembre 2013
Statut
Membre
Dernière intervention
14 avril 2014
17 nov. 2013 à 21:56
17 nov. 2013 à 21:56
Bonsoir, merci c'est exactement ce que je cherchais à faire. :D Par contre lorsque je clique sur "OK" pour ouvrir le classeur selectionné, j'ai l'erreur suivante :
"Erreur d'execution '1004' :
Fichier introuvable. Vérifiez l'orthographe du nom du classeur et la validité de l'emplacement.
Si vous essayer d'ouvrir le fichier à partir de la liste des fichiers les plus récents, assurez vous que le fichier n'a pas été renommé, déplacé ou supprimé."
Alors que le fichier est bien présent, ni renommé, ni déplacé. Lorsque je clique sur débogage, la ligne de code suivante est surlignée :
Set Wkb = Workbooks.Open(Repertoire & Cbfile.List(Cbfile.ListIndex))
A quoi cela peut-il être du?
"Erreur d'execution '1004' :
Fichier introuvable. Vérifiez l'orthographe du nom du classeur et la validité de l'emplacement.
Si vous essayer d'ouvrir le fichier à partir de la liste des fichiers les plus récents, assurez vous que le fichier n'a pas été renommé, déplacé ou supprimé."
Alors que le fichier est bien présent, ni renommé, ni déplacé. Lorsque je clique sur débogage, la ligne de code suivante est surlignée :
Set Wkb = Workbooks.Open(Repertoire & Cbfile.List(Cbfile.ListIndex))
A quoi cela peut-il être du?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 18/11/2013 à 02:19
Modifié par lermite222 le 18/11/2013 à 02:19
tu a recopié EXACTEMENT le code que j'ai montré ?
La déclaration de
J'ai ajouter le slach inverse dans le libellé du répertoire.
Probablement que tu n'a recopié que la deuxième partie.
Efface tout et remet TOUT mon code.
Sauf que pour tester je l'ai fais avec des fichiers *xlsm (j'ai pas de xlsx) rectifie donc le m par un x
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
La déclaration de
Repertoireest déplacée en haut du module
J'ai ajouter le slach inverse dans le libellé du répertoire.
Probablement que tu n'a recopié que la deuxième partie.
Efface tout et remet TOUT mon code.
Sauf que pour tester je l'ai fais avec des fichiers *xlsm (j'ai pas de xlsx) rectifie donc le m par un x
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Foudegc
Messages postés
5
Date d'inscription
vendredi 15 novembre 2013
Statut
Membre
Dernière intervention
14 avril 2014
8 déc. 2013 à 13:36
8 déc. 2013 à 13:36
Bonjour,
Désolé pour le temps de réponse, je n'ai pas vraiment pu me connecter ces derniers temps mais oui j'avais bien modifié le chemin d'accès pour celui-ci "C:\Users\Pierre\Desktop\Project" qui ne fonctionnait pas. Je viens de me rendre compte qu'il fonctionne, il manquait juste un \ : "C:\Users\Pierre\Desktop\Project\"
Encore merci! :) Je vais essayer d'avancer dans ce programme pour le finir au plus vite.
Désolé pour le temps de réponse, je n'ai pas vraiment pu me connecter ces derniers temps mais oui j'avais bien modifié le chemin d'accès pour celui-ci "C:\Users\Pierre\Desktop\Project" qui ne fonctionnait pas. Je viens de me rendre compte qu'il fonctionne, il manquait juste un \ : "C:\Users\Pierre\Desktop\Project\"
Encore merci! :) Je vais essayer d'avancer dans ce programme pour le finir au plus vite.