OVH Cloud OVH Cloud

lecture de valeur dans 150 fichiers

1 réponse
Avatar
pm
bonjour,=20
j aimerai bien mettre dans une colonne la valeur C20 pour=20
chacun de mes 150 fichiers pr=E9sents dans un repertoire.

j arrive bien =E0 r=E9cuperer le nom de tous les fichiers,=20
mais je ne sais pas comment lire cette cellule fameuse=20
cellule C20 sans ouvrir les fichiers....

merci de votre aide

PM

1 réponse

Avatar
papou
Bonjour pm
1 - Sans macro :
Si tu as la liste des tes fichiers en A1 par exemple, formule en B1 à
recopier vers le bas (en adpatant avec le nom de la feuille si identique sur
tous les fichiers) :
=INDIRECT(A1 & "Feuil1'!$C$20)

2 - Avec macro voir code (de je ne sais plus qui ?) :
Adapter la procédure Testgetvalue à ton besoin

Private Function GetValue(path, file, sheet, ref) As String
'path: The drive and path to the closed file (e.g., "d:files")
'file: The workbook name (e.g., "99budget.xls")
'sheet: The worksheet name (e.g., "Sheet1")
'ref: The cell reference (e.g., "C4")

Dim arg As String

On Error GoTo HandleErr
'Make sure the file exists
If Right(path, 1) <> "" Then path = path & ""
If Dir(path & file) = "" Then
GetValue = "File Not Found"
Exit Function
End If

'Create the argument
arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
Range(ref).Range("A1").Address(, , xlR1C1)

'Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)

ExitHere:
Exit Function

' Bloc de gestion d'erreurs ajouté par le complément de gestionnaire
d'erreurs. NE PAS MODIFIER ce bloc de code.
' Dernière mise à jour du gestionnaire d'erreurs automatique le 10-24-2002
13:03:25 'Gestionnaire d'erreurs:$$D-24-2002 'Gestionnaire
d'erreurs:$$T:03:25
HandleErr:
Select Case Err.Number
Case 13
MsgBox "La feuille " & sheet & " n'existe pas !"
End
Case Else
MsgBox "Erreur " & Err.Number & ": " & Err.Description,
vbCritical, "Module1.GetValue" 'Gestionnaire d'erreurs:$$N=Module1.GetValue
End Select
' Fin du bloc du traitement d'erreurs.
End Function


Sub TestGetValue()

Dim p As String
Dim f As String
Dim s As String
Dim a As String

p = "D:Mes DocumentsPascalExcel"
f = "Test.xls"
s = "Feuil15"
a = "A1"

MsgBox GetValue(p, f, s, a)

End Sub

Cordialement
Pascal

"pm" a écrit dans le message de
news:2765001c46406$71a02ac0$
bonjour,
j aimerai bien mettre dans une colonne la valeur C20 pour
chacun de mes 150 fichiers présents dans un repertoire.

j arrive bien à récuperer le nom de tous les fichiers,
mais je ne sais pas comment lire cette cellule fameuse
cellule C20 sans ouvrir les fichiers....

merci de votre aide

PM