Bonsoir
Liaison classique
Pour obtenir le contenu de B2 de la Feuil1 de Fichier1.xls, on écrit:
=[Fichier1.xls]Feuil1!$B$2
Pour obtenir la SOMME de B2:B10 de la Feuil1 de Fichier1.xls, on écrit:
=SOMME([Fichier1.xls]Feuil1!$B$2:$B$10)
ou
=SOMMEPROD(--([Fichier2.xls]Feuil1!$B$2:$B$10>1); --([Fichier2.xls]Feuil1!$B$2:$B$10))
Si tous les Fichiers sont dans le même répertoire, on peut en récupérer la liste sous la cellule sélectionnée avec ce code inséré dans un Bouton:
'Auteur inconnu
Private Sub CommandButton1_Click()
'ouvre une fenêtre de dialogue pour demander le chemin du répertoire
MyPath = InputBox("Indiquez le chemin du répertoire : ", "Lister les fichiers.", "D:\")
'définit le répertoire où sont les fichiers
myname = Dir(MyPath, vbDirectory)
'boucle passant en revue tous les fichiers du répertoire
Do While myname <> ""
' traitement
ActiveCell.Offset(1, 0).Select 'sélectionne la ligne suivante de la colonne A
ActiveCell = myname 'inscrit le nom du fichier trouvé
' passe au fichier suivant
myname = Dir
Loop
End Sub
Une fois la liste des fichiers récupérés, par ex: en A10 Fichier1.xls, A11 Fichier2.xls
on peut écrire en B10:
="="&"'D:\Mes documents\Forum excel\En recherche"&"["&$A$10&".xls"&"]"&"Feuil1'!$B$2"
Cette formule est inactive car au format texte. Pour l'activer, il faut passer par une Macro avec l'instruction:
ActiveCell.Value = ActiveCell.Value
Pour plus détails sur cette Macro, voir:
https://forum.excel-pratique.com/viewtopic.php?t=814&highlight=senga
Cordialement,
Amadéus