[VBA] trouver une feuille excel ds pls docs
Résolu/Fermé
titco
Messages postés
3
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 mars 2007
-
5 mars 2007 à 10:33
titco Messages postés 3 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 mars 2007 - 5 mars 2007 à 15:43
titco Messages postés 3 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 5 mars 2007 - 5 mars 2007 à 15:43
A voir également:
- [VBA] trouver une feuille excel ds pls docs
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Trouver adresse mac - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
3 réponses
Utilisateur anonyme
5 mars 2007 à 14:03
5 mars 2007 à 14:03
Bonjour,
Oui cela est possible, mais pas évident si vous ne connaissez pas VBA.
Quoi qu'il en soit, voici un exemple type de ce que je comprends de
votre besoin :
Ceci bien sur en supposant que le fichier récupérant les données se nomme [ Principal.xls ].
Lupin
Oui cela est possible, mais pas évident si vous ne connaissez pas VBA.
Quoi qu'il en soit, voici un exemple type de ce que je comprends de
votre besoin :
Sub RechercheValeurDansFichierExcel() Const RepSource = "C:\Documents local\essai\" Dim objFSO As Variant, objFichier As Variant, objRepertoire As Variant Dim Longueur As Integer, Compteur As Integer, Extension As String Dim Boite() As String Dim NumFic As Integer, Boucle As Integer Dim Valeur As String, Feuille As Worksheet Set objFSO = CreateObject("Scripting.FileSystemObject") Set objRepertoire = objFSO.GetFolder(RepSource) Compteur = 0 If (objRepertoire.Files.Count > 0) Then For Each objFichier In objRepertoire.Files Longueur = Len(objFichier.Name) Extension = Mid(objFichier.Name, Longueur - 2) If (Extension = "xls") Then ReDim Preserve Boite(Compteur) As String Boite(Compteur) = objFichier.Name Compteur = (Compteur + 1) End If Next End If For Boucle = 0 To (Compteur - 1) Workbooks.Open Filename:=(RepSource & Boite(Boucle)) For Each Feuille In ActiveWorkbook.Worksheets If (Feuille.Name = "2006") Then Valeur = Range("C20").Value Workbooks("Principal.xls").ActiveSheet.ActiveCell.Offset(0, 0).Value = Valeur Workbooks("Principal.xls").ActiveSheet.ActiveCell.Offset(1, 0).Select End If Next Feuille ActiveWorkbook.Close Next Boucle Set objFSO = Nothing Set objRepertoire = Nothing End Sub
Ceci bien sur en supposant que le fichier récupérant les données se nomme [ Principal.xls ].
Lupin
titco
Messages postés
3
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 mars 2007
5 mars 2007 à 14:21
5 mars 2007 à 14:21
Merci!
je teste cela (enfin j'essaie de bidouiller ce que je peux) et je vous dit!
Et je ne connais pas VBA mais j'ai appris (mais ça commence à remonter!) la programmation objet, donc je devrais m'en sortir...
je teste cela (enfin j'essaie de bidouiller ce que je peux) et je vous dit!
Et je ne connais pas VBA mais j'ai appris (mais ça commence à remonter!) la programmation objet, donc je devrais m'en sortir...
titco
Messages postés
3
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
5 mars 2007
5 mars 2007 à 15:43
5 mars 2007 à 15:43
Alors après bidouillage de ma part, cela fonctionne très bien... merci bcp!
Plus qu'à me creuser un peu les méninges pour savoir comment je peux faire pour automatiser le plus possibles toutes les cases à remplir de mon tableau ;-)
Encore merci
Plus qu'à me creuser un peu les méninges pour savoir comment je peux faire pour automatiser le plus possibles toutes les cases à remplir de mon tableau ;-)
Encore merci