Lire un fichier excel sans l'ouvrir

Popi14

XLDnaute Junior
Bonjour à toutes et à tous,

J'aimerais savoir si cela est possible de lire un fichier Excel sans l'ouvrir et de copier la valeur dans le classeur qui est actuellement ouvert.

J'ai trouvé cette formule sur le net mais elle ne fonctionne pas :rolleyes:

='C:\Documents and Settings\mzdsl\Desktop\Laurent\Test_incident\Qualité\[P1501.xls]Feuil4!A1

J'espère que vous pourrez m'aiguiller,

Merci pour tous,

PopI14
 

LPandre

XLDnaute Impliqué
Re : Lire un fichier excel sans l'ouvrir

Bonjour,
copier une valeur de celulle d'un classeur sans l'ouvrir, à ma connaissance non.
Mais s'il y a une liaison entre le fichier ouvert et le fichier fermé, la liaison demandera s'il faut mettre à jour, et si OK, l'actualisation se fera.
Sans plus de précision...
@+
 

michel_m

XLDnaute Accro
Re : Lire un fichier excel sans l'ouvrir

Bonjour,

C'est possible avec un peu de VBA ou une macroXL4 (dite de Wlkenbach)si tu n'as qu'une valeur à chercher.

Tu as tout un topo sur lire et écrire dans un classeur fermé dans la FAQ de ce site a wikipage6 de Michel XLD;

Bonne découverte et n'hésite pas pour de + amples renseignements
 

michel_m

XLDnaute Accro
Re : Lire un fichier excel sans l'ouvrir

re,

petit goodie avec la macro de Walkenbach



mavar= ExecuteExcel4Macro('C:\mes documents\riri\[Classeur1.xls]Feuil3'!R2C2)




mavar prend la valeur de la cellule B2 de feuil3 du classeur fermé classeur1.xls
 

kiki29

XLDnaute Barbatruc
Re : Lire un fichier excel sans l'ouvrir

Oui c'est possible sans problemes , pour qqs valeurs via
Code:
Private Function ExtraireValeur(ByVal Dossier As String, ByVal Fichier As String, ByVal Feuille As String, ByVal Cellule As String)
Dim Argument As String
    Fichier = Replace(Fichier, "'", "''")
    Argument = "'" & Dossier & "[" & Fichier & "]" & Feuille & "'!" & Range(Cellule).Address(, , xlR1C1)
    ExtraireValeur = ExecuteExcel4Macro(Argument)
End Function

ce qui donne qqch comme
Code:
...
sDossier = "C:\Faq\FaqVba\Exemples\LectureDonnees\CV\Datas_03\EchCADReçus"
sNomFichier="essai.xls"
sNomFeuille  = "Feuil1"

Cells(1, 1) = ExtraireValeur(sDossier, sNomFichier, sNomFeuille, "A10")
Ou via ADO pour une plage de cellules contigues, voir Lire et écrire dans les classeurs Excel fermés - Club d'entraide des développeurs francophones
 
Dernière édition:

Popi14

XLDnaute Junior
Re : Lire un fichier excel sans l'ouvrir

Re-bonjour,

Grâce à votre aide, ma macro fonctionne presque car j'ai un dernier ptit problème.

Je vais chercher des dates dans mes fichiers Excel par exemple:
21/12/2008

et mon problème c'est que je récupére 39803.

Pourriez-vous m'aider à avoir dans mon fichier de destination le bon format pour ma date car je ne vois pas comment faire.

Encore merci pour tous,

Laurent
 

Popi14

XLDnaute Junior
Re : Lire un fichier excel sans l'ouvrir

Bonjour kiki,

Je sais faire un Cdate() sur worksheets("Feuil1").Range("A1").value mais sur le code que j'ai récupéré pour lire la cellule d'un fichier sans l'ouvrir et bien je ne sais pas !

Mon code est le suivant:

Sub ImporterDepuisPlusieursClasseurs()

Dim Cell As Range
Dim Y As Byte

For Each Cell In Range("A1:A4") 'liste des fichiers à ouvrir
For Y = 2 To 5 'les colonnes
With ActiveSheet.Cells(Cell.Row, Y)
.FormulaArray = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "Feuil1" & "'!" & Cells(1, Y - 1).Address(0, 0)
'chemin 'nom du fichier 'Cellules de lecture
.Value = .Value
End With
Next Y
Next Cell

End Sub



Pourriez-vous m'aider car je suis un peu perdu,

je vous remercie d'avance,

Bonne soirée

Laurent alias Popi14
 

kiki29

XLDnaute Barbatruc
Re : Lire un fichier excel sans l'ouvrir

Salut, un exemple à adapter
Lecture de A6 des fichiers Test1.xls à Test4.xls
 

Pièces jointes

  • Test.zip
    22.5 KB · Affichages: 2 006
  • Test.zip
    22.5 KB · Affichages: 2 070
  • Test.zip
    22.5 KB · Affichages: 2 200
Dernière édition:

joliemaman007

XLDnaute Nouveau
Re : Lire un fichier excel sans l'ouvrir

Bonjour Popi14
normalement une syntaxe style:

+'C:\Documents\Rangement01\Bases\Countries\[country_classification_historique.xls]categories'!$N$5

te donnera le résultat souhaité ( avec:
entre guillemets simples:
chemin d'accès: C:\Documents\Rangement01\Bases\Countries\
nom du fichier xls: [country_classification_historique.xls]
nom de l'intercalaire: Categories

et en dehors des guillement
adresse de la celule: !$N$5

Bon courage
Joliemaman007

Bonjour à toutes et à tous,

J'aimerais savoir si cela est possible de lire un fichier Excel sans l'ouvrir et de copier la valeur dans le classeur qui est actuellement ouvert.

J'ai trouvé cette formule sur le net mais elle ne fonctionne pas :rolleyes:

='C:\Documents and Settings\mzdsl\Desktop\Laurent\Test_incident\Qualité\[P1501.xls]Feuil4!A1

J'espère que vous pourrez m'aiguiller,

Merci pour tous,

PopI14
 

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 809
Membres
103 392
dernier inscrit
doc_banane