Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

FileSearch

CAP

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai besoin de récupérer des infos de différents fichiers stockés dans le même répertoire. Le problème est que je n'arrive pas à faire ce que je veux avec les fichiers ouverts, j'arrive à copier une cellule et la coller dans un autre classeur mais je n'arrive pas par exemple à inscrire quelque chose dans ce classeur.
Voici le code utilisé (le code pour l'ouverture des classeurs est de L. Longre) :

Dim F
Dim bilan as Workbook
Dim feuille as Worksheet

Set bilan = Workbooks('bilan')
Set feuille = bilan.Worksheets('Feuil1')

With Application.FileSearch
.NewSearch
.LookIn = 'K:\\Repertoire_source\\test'
.Execute
On Error Resume Next
For Each F In .FoundFiles

Workbooks.Open F

F.Cells(1, 1).Select
Selection.Copy
bilan.Activate
feuille.Activate
feuille.Cells(1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Next F
End With

Je dois avoir un problème de déclaration de variable.
Merci par avance pour votre aide et bonne journée à tous,
 

Hervé

XLDnaute Barbatruc
bonjour

un essai :

Dim F
Dim bilan As Workbook
Dim feuille As Worksheet

Set bilan = Workbooks('bilan.xls') 'extension
Set feuille = bilan.Worksheets('Feuil1')

With Application.FileSearch
.NewSearch
.LookIn = 'K:Repertoire_sourcetest'
.Execute
'On Error Resume Next
For Each F In .FoundFiles

Workbooks.Open F
ActiveWorkbook.Sheets(1).Cells(1, 1).Copy 'precision de la feuille
bilan.Activate
feuille.Activate
feuille.Cells(1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Next F
End With


salut
 

CAP

XLDnaute Occasionnel
Merci Hervé, ça marche mieux en effet mais je n'arrive pas à réactiver le classeur F. Si à la suite du code je veux récupérer d'autres valeurs de ce classeur, et que je code
F.Activate
ActiveWorkbook.Sheets(1).Cells(10, 1)

il ne comprend pas le F. Activate

Saurais-tu pourquoi ?

Merci
 

Hervé

XLDnaute Barbatruc
re

la variable F n'est pas un fichier, mais simplement un string stockant le chemin du fichier.

Workbooks.Open F
Set fichier = ActiveWorkbook
fichier.Sheets(1).Cells(1, 1).Copy

ici tu stock le fichier ouvert dans la variable fichier, et tu pourras donc refaire appel à lui.

fichier.activate

salut
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…