Lire dans un fichier fermé excel

diaboloben
Messages postés
4
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007
- 21 sept. 2007 à 02:06
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
- 22 sept. 2007 à 20:52
Bonjour,

Je précise tout d'abord que je suis novice en la matière: j'ai trouvé un code sur le web pour extraire les données d'une cellule excel de plusieurs fichiers en meme temps. Celui ci fonctionne entrant le chemin d'accès complet du repertoire ou se trouve les fichiers .xls. J'essaye donc de le modifier afin de n'avoir juste à executer la macro depuis le dossier concerné (dans le dossier ou se trouve les fichiers .xls:



Sub chercheFichiersFermesV03()
Dim X As Integer, nbFichiers As Integer, Y As Integer
Dim Tableau() As String
Dim Direction As String



Application.ScreenUpdating = False
Direction = Dir(ThisWorkbook.Path & "\*.xls")
Do While Len(Direction) > 0
nbFichiers = nbFichiers + 1
ReDim Preserve Tableau(1 To nbFichiers)
Tableau(nbFichiers) = Direction
Direction = Dir()
Loop



If nbFichiers > 0 Then
For X = 1 To nbFichiers
If Tableau(X) <> ThisWorkbook.Name Then
Y = Y + 1
With ActiveSheet.Cells(Y, 1)
.Formula = "='\\[" & Tableau(X) & "]Feuil1" & "'!" & "A1"
.Value = .Value
End With
End If
Next X
End If



Application.ScreenUpdating = True
End Sub



J'ai marqué en rouge les points que j'ai modifiés ( ou il y avait simplement le chemin d'accès du dossier contenant les fichiers a extraire). Après avoir tout essayé, je sèche !
Merci bien

Diabi

8 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
21 sept. 2007 à 02:38
salut,
dans ton code "trouvé", c'était indiqué VB6 ? !!!

novice ok, mais au point de ne pas savoir en quoi tu dev?

topic déplacé sur VBA
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
tubafat
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

21 sept. 2007 à 10:33
Salut,

pourrais tu expliquer sur quoi tu sèches???
J'imagine que ce que tu as modifié en rouge ne fonctionne pas, mais as-tu un message d'erreur? Si oui lequel et à quelle ligne se produit-il???
Si tu veux des réponses il faut penser à expliquer clairement ce qui ne va pas...

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
diaboloben
Messages postés
4
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007

21 sept. 2007 à 11:45
Bonjour,

je n'ai pas de message d'erreurs a proprement dit mais j'obtiens :


<colgroup>
<col style=\"WIDTH: 60pt\" width=\"80\" />
</colgroup>

<colgroup>
<col style=\"WIDTH: 60pt\" width=\"80\" />
</colgroup>

----

#REF!,

----

#REF!,

----

#REF!
autant de fois qu'il y a de fichiers xls dans mon dossier
si je modifie le code :

.Formula = ActiveWorkbook.Path & "\[" & Tableau(X) & "]Feuil1" & "'!" & "i8"

J'obtiens ceci:
C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie (2) - Copie.xls]Feuil1'!i8<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie (2).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie (3) - Copie.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie (3).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie (4).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie - Copie (2).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie - Copie (3).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie - Copie - Copie (2).xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie - Copie - Copie.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie - Copie.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel - Copie.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Nouveau Feuille de calcul Microsoft Excel.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[Récup nbre de fiche nombre de nuits.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[testtt.xls]Feuil1'!i8

C:\Users\diabolo\Desktop\Nouveau dossier\[ZZrecup - safr.xls]Feuil1'!i8

la liste des chemins d'accès des fichiers dans le dossier ( alors que je veux le contenu de la cellule I8 dans la "feuil1"

Désolé pour mon manque d'explications.
Merci de votre aide.

Diabi

 
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
21
21 sept. 2007 à 12:07
Essaie ceci
ActiveSheet.Range("A1:A" & nbFichiers).Formula = "='\\[" & Tableau(X) & "]Feuil1'!" & A1

et là j'imagine que tu es train d'écrire dans une autre feuille que Feuil1 ...parce que sinon, ça causera sûrement une erreur de référence

MPi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
diaboloben
Messages postés
4
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007

21 sept. 2007 à 13:37
Merci de ton aide mais ca ne fonctionne toujours pas !
#REF!, ----
#REF!, ----
#REF!
Toujours cette satanée erreur !
si tu vois une autres solutions...
merci de votre aide !
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
21
22 sept. 2007 à 12:51
Je ne vois pas la raison du double-slash "//"  (?)
Essaie ceci pour voir

With ActiveSheet.Cells(X, 1)

.Formula = "='[" & Tableau(X) & "]Feuil1'!A1"

Si les fichiers distants sont fermés, tu ne pourras probablement pas voir la valeur affichée. Tu devrais voir #VALEUR, si je ne me trompe. Pour pouvoir la voir, il te faudra les ouvrir sans pour autant les afficher (ScreenUpdating = False)

Si tu vois toujours des #REF, il faudra alors vérifier la formule que ton code génère. Il y a probablement une erreur de syntaxe.

MPi²
0
diaboloben
Messages postés
4
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
22 septembre 2007

22 sept. 2007 à 20:01
C'est vraiment dingue ! ca ne fonctionne toujours pas. Pourtant mon code fonctionne avec les chemins d'accès des dossiers :
Direction = Dir("C:\Documents and Settings\michel\dossier\general\excel\*.xls")

et

With ActiveSheet.Cells(Y, 1)
.Formula = "='C:\Documents and
Settings\michel\dossier\general\excel\[" & Tableau(X) & "]Feuil1" &
"'!" & "A1"

Il y a forcement une solution....
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
21
22 sept. 2007 à 20:52
Une dernier test ?

Dim Chemin as string
Chemin = "C:\Documents and Settings\michel\dossier\general\excel"
With ActiveSheet.Cells(X, 1)

.Formula = _
    "='" & Chemin & "[" & Tableau(X) & "]Feuil1'!A1"

MPi²
0