[Catégorie modifiée .Net --> VBA] Récupérer le contenu d'un fichier excel situé

LDEVAUD Messages postés 3 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 16 août 2010 - 12 août 2010 à 07:23
LDEVAUD Messages postés 3 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 16 août 2010 - 16 août 2010 à 14:59
Bonjour, si quelqu'un peut m'aider, voici ma demande : j'ai un fichier excel "suivi simplifié.xls" qui m'établis la liste de tous mes dossiers en cours contenu dans un répertoire, la liste est rangée verticalement dans la colonne A. Dans chacun de ces répertoires "dossiers" il y a entre autre un fichier excel nommé "suivi du dossier.xls", Il a toujours le même nom de fichier mais il est rangé dans des répertoires différents. Mon souhait est de récupérer dans mon fichier Excel "suivi simplifié" la valeur d'une cellule "B10" de chaque fichier "suivi du dossier.xls", dans la colonne B correspondant à chacun des dossiers de la colonne A...

|DOSSIERS EN COURS | Valeur de B10 |
|UNTEL | 150 |
|UNAUTRE | 260 | etc...

loulou

7 réponses

the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
12 août 2010 à 16:54
ton fichiers suivi simplifié etabli la liste des dossiers contenu dans le répertoire où il se trouve ???
0
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
12 août 2010 à 17:17
si la réponse est oui, voila voila

Sub suividossier()
Dim i As Integer
Dim dossier As String
i = 1
Application.ScreenUpdating = False
Cells(i, 1).Select
While ActiveCell.Value <> ""

dossier = ThisWorkbook.path & "" & ActiveCell.Value
ChDir dossier
Workbooks.Open Filename:=dossier & "\suivi du dossier.xls"
Range("B10").Select
Selection.Copy
ActiveWindow.Close
Range("B" & i).Select
ActiveSheet.Paste
i = i + 1
Cells(i, 1).Select
Wend

Application.ScreenUpdating = True
End Sub
0
LDEVAUD Messages postés 3 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 16 août 2010
12 août 2010 à 18:47
Merci de ta prompt réponse, mais lorsque je lance la macro, il s'arrête et me dit : erreur d'exécution '76' chemin d'accès introuvable...
Dans le débogueur, en jaune "CHDIR DOSSIER"
Le fichier "suivi simplifié" est dans le dossier "EN COURS" et dans ce dossier se trouve tous les dossiers portant le nom des affaires. Et dans chacun de ces dossiers se trouve le fichier "suivi étude.xls".
Dans la colonne A de "suivi simplifié.xls", n'apparait que le dernier nom du dossier et pas tous le chemin d'accès, peut être est ce la le problème ??
Voici la copie de ce code, d'ailleurs je souhaiterais le modifié pour que le nom de ce dossier devienne un lien hypertexte sur lequel je pourrais cliquer et accéder directement au fichier "suivi étude.xls" se trouvant dans le dossier correspondant.
Voici ce code:
Sub TousLesDossiers(LeDossier$, Idx As Long)
Dim fso As Object, dossier As Object
Dim sousRep As Object, Flder As Object

Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(LeDossier)
Columns("A:A").Select
Selection.ClearContents
Range("A1").Select

'examen du dossier courant
For Each Flder In dossier.subfolders
Idx = Idx + 1
Cells(Idx, 1).Value = Flder.Path
Next

Set fso = Nothing

End Sub 'fs

Sub test()
TousLesDossiers "\\Serveur\Volume_1\Données BOIS DE BOUT\en cours", 0 'a adapter

Cells.Replace What:="\\Serveur\Volume_1\Données BOIS DE BOUT\en cours", Replacement _
:=" ", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
ActiveWorkbook.Save


End Sub
loulou
0
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
13 août 2010 à 09:17
Dans la colonne a tu as bien tout le chemin d'accès. clique sur les cellules et tu verras modifie la macro par celle ci :

Sub suividossier()
Dim i As Integer
Dim dossier As String
i = 1
Application.ScreenUpdating = False
Cells(i, 1).Select
While ActiveCell.Value <> ""

dossier = ActiveCell.Value
ChDir dossier
Workbooks.Open Filename:=dossier & "\suivi du dossier.xls"
Range("B10").Select
Selection.Copy
ActiveWindow.Close
Range("B" & i).Select
ActiveSheet.Paste
i = i + 1
Cells(i, 1).Select
Wend

Application.ScreenUpdating = True
End Sub
0

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

Posez votre question
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
13 août 2010 à 09:40
pour les liens remplace ton touslesdossier par celui ci

Sub TousLesDossiers(LeDossier$, Idx As Long)
Dim fso As Object, dossier As Object
Dim sousRep As Object, Flder As Object


Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(LeDossier)
Columns("A:A").Select
Selection.ClearContents
Range("A1").Select

'examen du dossier courant
For Each Flder In dossier.subfolders
Idx = Idx + 1
Cells(Idx, 1).Activate
Cells(Idx, 1).Value = Flder.path
ActiveCell.Hyperlinks.Add Selection, ActiveCell.Value, ActiveCell.Value
Next

Set fso = Nothing

End Sub 'fs
0
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
13 août 2010 à 10:03
autant pour moi pour la macro tous les dossier

remplace la ligne dossier par

dossier = ThisWorkbook.Path & "" & Trim(ActiveCell.Value)
et c'est vrai qu'il ny a juste que le dernier mot
cordialement
0
LDEVAUD Messages postés 3 Date d'inscription jeudi 12 août 2010 Statut Membre Dernière intervention 16 août 2010
16 août 2010 à 14:59
MERCI, merci
J'ai du mal à remettre tous cela dans l'ordre !!
Il y a un autre paramêtre important, c'est que ce dossier est dans un disque dur en réseau, qui se synchronise sur mon portable.
lorsque je le lance depuis mon portable, il crée des liens hypertexte qui ne fonctionne pas, si je le lance depuis un autre PC fixe qui n'a pas de synchronisation, les liens hypertextes fonctionnent...
Au pire, je veux que ces liens ne fonctionne que lorsque je suis connecté !!
De temps en temps, ils refuse de sauvegarder le fichier "suivi simplifié" en me disant qu'il ne peux sauvegarder le fichier "suivi simplifié.xls0", je vois pas ce que ce 0 vient faire la ?? merci pour votre aide !!
loulou
0
Rejoignez-nous