Je souhaiterai savoir s'il est possible de d=E9nombre dans un r=E9pertoire
donn=E9, le nombre de fichiers Excel contenant des liaisons avec
d'autres fichiers Excel.
J'ai commenc=E9 en utilisant la fonction Filesearch, mais je bloque sur
les liaisons. Si possible, je souhaiterai faire la m=EAme op=E9ration avec
les fichiers Excel contenant des macros.
Voici mon programme :
With Application.FileSearch
.NewSearch
.SearchSubFolders =3D True
.FileType =3D msoFileTypeExcelWorkbooks
.LookIn =3D "C:\"
.Execute
On Error Resume Next
For Each F In .FoundFiles
cpt =3D cpt + 1
Next F
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Jérémy,
pour cette exemple les résultats sont mit sur la feuille active en colonne A et B
Sub test() Dim arLinks As Variant Dim i As Integer, x As Integer, y As Integer Dim ww As Object Set fs = Application.FileSearch Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter With fs .LookIn = "C:zz" ' à adapter .Filename = "*.xls" .Execute If .FoundFiles.Count = 0 Then MsgBox "Aucun fichier n'a été trouvé." Exit Sub End If
For i = 1 To .FoundFiles.Count ' MsgBox .FoundFiles(i) Workbooks.Open Filename:=.FoundFiles(i) arLinks = ActiveWorkbook.LinkSources(xlExcelLinks) If Not IsEmpty(arLinks) Then For y = LBound(arLinks) To UBound(arLinks) x = x + 1 ww.Range("A" & x) = .FoundFiles(i) ww.Range("B" & x) = arLinks(y) Next End If ActiveWorkbook.Close SaveChanges:úlse Next i End With End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire donné, le nombre de fichiers Excel contenant des liaisons avec d'autres fichiers Excel. J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur les liaisons. Si possible, je souhaiterai faire la même opération avec les fichiers Excel contenant des macros. Voici mon programme :
With Application.FileSearch .NewSearch .SearchSubFolders = True .FileType = msoFileTypeExcelWorkbooks .LookIn = "C:" .Execute On Error Resume Next For Each F In .FoundFiles cpt = cpt + 1 Next F End With
MsgBox cpt
Merci de votre aide!!
bonjour Jérémy,
pour cette exemple les résultats sont mit sur la feuille active en colonne A et B
Sub test()
Dim arLinks As Variant
Dim i As Integer, x As Integer, y As Integer
Dim ww As Object
Set fs = Application.FileSearch
Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter
With fs
.LookIn = "C:zz" ' à adapter
.Filename = "*.xls"
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
Exit Sub
End If
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Workbooks.Open Filename:=.FoundFiles(i)
arLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(arLinks) Then
For y = LBound(arLinks) To UBound(arLinks)
x = x + 1
ww.Range("A" & x) = .FoundFiles(i)
ww.Range("B" & x) = arLinks(y)
Next
End If
ActiveWorkbook.Close SaveChanges:úlse
Next i
End With
End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire
donné, le nombre de fichiers Excel contenant des liaisons avec
d'autres fichiers Excel.
J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur
les liaisons. Si possible, je souhaiterai faire la même opération avec
les fichiers Excel contenant des macros.
Voici mon programme :
With Application.FileSearch
.NewSearch
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.LookIn = "C:"
.Execute
On Error Resume Next
For Each F In .FoundFiles
cpt = cpt + 1
Next F
End With
pour cette exemple les résultats sont mit sur la feuille active en colonne A et B
Sub test() Dim arLinks As Variant Dim i As Integer, x As Integer, y As Integer Dim ww As Object Set fs = Application.FileSearch Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter With fs .LookIn = "C:zz" ' à adapter .Filename = "*.xls" .Execute If .FoundFiles.Count = 0 Then MsgBox "Aucun fichier n'a été trouvé." Exit Sub End If
For i = 1 To .FoundFiles.Count ' MsgBox .FoundFiles(i) Workbooks.Open Filename:=.FoundFiles(i) arLinks = ActiveWorkbook.LinkSources(xlExcelLinks) If Not IsEmpty(arLinks) Then For y = LBound(arLinks) To UBound(arLinks) x = x + 1 ww.Range("A" & x) = .FoundFiles(i) ww.Range("B" & x) = arLinks(y) Next End If ActiveWorkbook.Close SaveChanges:úlse Next i End With End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire donné, le nombre de fichiers Excel contenant des liaisons avec d'autres fichiers Excel. J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur les liaisons. Si possible, je souhaiterai faire la même opération avec les fichiers Excel contenant des macros. Voici mon programme :
With Application.FileSearch .NewSearch .SearchSubFolders = True .FileType = msoFileTypeExcelWorkbooks .LookIn = "C:" .Execute On Error Resume Next For Each F In .FoundFiles cpt = cpt + 1 Next F End With
MsgBox cpt
Merci de votre aide!!
isabelle
ps/
XlLink peut être l'une de ces constantes:
xlExcelLinks xlOLELinks (gère également des liaisons DDE) xlPublishers xlSubscribers
isabelle
Le 2010-09-14 18:47, isabelle a écrit :
bonjour Jérémy,
pour cette exemple les résultats sont mit sur la feuille active en colonne A et B
Sub test() Dim arLinks As Variant Dim i As Integer, x As Integer, y As Integer Dim ww As Object Set fs = Application.FileSearch Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter With fs .LookIn = "C:zz" ' à adapter .Filename = "*.xls" .Execute If .FoundFiles.Count = 0 Then MsgBox "Aucun fichier n'a été trouvé." Exit Sub End If
For i = 1 To .FoundFiles.Count ' MsgBox .FoundFiles(i) Workbooks.Open Filename:=.FoundFiles(i) arLinks = ActiveWorkbook.LinkSources(xlExcelLinks) If Not IsEmpty(arLinks) Then For y = LBound(arLinks) To UBound(arLinks) x = x + 1 ww.Range("A" & x) = .FoundFiles(i) ww.Range("B" & x) = arLinks(y) Next End If ActiveWorkbook.Close SaveChanges:úlse Next i End With End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire donné, le nombre de fichiers Excel contenant des liaisons avec d'autres fichiers Excel. J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur les liaisons. Si possible, je souhaiterai faire la même opération avec les fichiers Excel contenant des macros. Voici mon programme :
With Application.FileSearch .NewSearch .SearchSubFolders = True .FileType = msoFileTypeExcelWorkbooks .LookIn = "C:" .Execute On Error Resume Next For Each F In .FoundFiles cpt = cpt + 1 Next F End With
MsgBox cpt
Merci de votre aide!!
ps/
XlLink peut être l'une de ces constantes:
xlExcelLinks
xlOLELinks (gère également des liaisons DDE)
xlPublishers
xlSubscribers
isabelle
Le 2010-09-14 18:47, isabelle a écrit :
bonjour Jérémy,
pour cette exemple les résultats sont mit sur la feuille active en
colonne A et B
Sub test()
Dim arLinks As Variant
Dim i As Integer, x As Integer, y As Integer
Dim ww As Object
Set fs = Application.FileSearch
Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter
With fs
.LookIn = "C:zz" ' à adapter
.Filename = "*.xls"
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
Exit Sub
End If
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Workbooks.Open Filename:=.FoundFiles(i)
arLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(arLinks) Then
For y = LBound(arLinks) To UBound(arLinks)
x = x + 1
ww.Range("A" & x) = .FoundFiles(i)
ww.Range("B" & x) = arLinks(y)
Next
End If
ActiveWorkbook.Close SaveChanges:úlse
Next i
End With
End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire
donné, le nombre de fichiers Excel contenant des liaisons avec
d'autres fichiers Excel.
J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur
les liaisons. Si possible, je souhaiterai faire la même opération avec
les fichiers Excel contenant des macros.
Voici mon programme :
With Application.FileSearch
.NewSearch
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.LookIn = "C:"
.Execute
On Error Resume Next
For Each F In .FoundFiles
cpt = cpt + 1
Next F
End With
xlExcelLinks xlOLELinks (gère également des liaisons DDE) xlPublishers xlSubscribers
isabelle
Le 2010-09-14 18:47, isabelle a écrit :
bonjour Jérémy,
pour cette exemple les résultats sont mit sur la feuille active en colonne A et B
Sub test() Dim arLinks As Variant Dim i As Integer, x As Integer, y As Integer Dim ww As Object Set fs = Application.FileSearch Set ww = ThisWorkbook.Sheets("Feuil1") ' à adapter With fs .LookIn = "C:zz" ' à adapter .Filename = "*.xls" .Execute If .FoundFiles.Count = 0 Then MsgBox "Aucun fichier n'a été trouvé." Exit Sub End If
For i = 1 To .FoundFiles.Count ' MsgBox .FoundFiles(i) Workbooks.Open Filename:=.FoundFiles(i) arLinks = ActiveWorkbook.LinkSources(xlExcelLinks) If Not IsEmpty(arLinks) Then For y = LBound(arLinks) To UBound(arLinks) x = x + 1 ww.Range("A" & x) = .FoundFiles(i) ww.Range("B" & x) = arLinks(y) Next End If ActiveWorkbook.Close SaveChanges:úlse Next i End With End Sub
isabelle
Le 2010-09-14 05:21, Jérémy a écrit :
Bonjour,
Je souhaiterai savoir s'il est possible de dénombre dans un répertoire donné, le nombre de fichiers Excel contenant des liaisons avec d'autres fichiers Excel. J'ai commencé en utilisant la fonction Filesearch, mais je bloque sur les liaisons. Si possible, je souhaiterai faire la même opération avec les fichiers Excel contenant des macros. Voici mon programme :
With Application.FileSearch .NewSearch .SearchSubFolders = True .FileType = msoFileTypeExcelWorkbooks .LookIn = "C:" .Execute On Error Resume Next For Each F In .FoundFiles cpt = cpt + 1 Next F End With
MsgBox cpt
Merci de votre aide!!
Jérémy
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?
Merci!!
Merci! cela fonctionne bien.
Mais cela est très long comme traitement car cela demande d'ouvrir
tous les fichiers Excels!
Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des
fichiers?
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?
Merci!!
Centaur
Jérémy wrote:
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?
Merci!!
Bonsoir,
Pour avoir eu le cas (recensement de fichiers contenant des macros) je n'ai pas trouvé plus simple, ni plus rapide que d'ouvrir les fichiers en lecture seule...
Bon courage !
Cordialement,
Jérémy wrote:
Merci! cela fonctionne bien.
Mais cela est très long comme traitement car cela demande d'ouvrir
tous les fichiers Excels!
Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des
fichiers?
Merci!!
Bonsoir,
Pour avoir eu le cas (recensement de fichiers contenant des macros) je
n'ai pas trouvé plus simple, ni plus rapide que d'ouvrir les fichiers en
lecture seule...
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?
Merci!!
Bonsoir,
Pour avoir eu le cas (recensement de fichiers contenant des macros) je n'ai pas trouvé plus simple, ni plus rapide que d'ouvrir les fichiers en lecture seule...
Bon courage !
Cordialement,
isabelle
bonjour Jérémy,
pour diminuer le temps d'execution, tu pourrais ajouter en début de macro,
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?
Merci!!
bonjour Jérémy,
pour diminuer le temps d'execution, tu pourrais ajouter en début de macro,
Merci! cela fonctionne bien.
Mais cela est très long comme traitement car cela demande d'ouvrir
tous les fichiers Excels!
Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des
fichiers?
Merci! cela fonctionne bien. Mais cela est très long comme traitement car cela demande d'ouvrir tous les fichiers Excels! Or mes répertoires contiennent environ 15 000 fichiers Excels.......
Serait-ce possible d'effectuer le test mais sans l'ouverture des fichiers?