OVH Cloud OVH Cloud

Pb With .FoundFiles

4 réponses
Avatar
Christian
Bonjour,

je cherche à récupérer le nombre de fichiers .txt dans un dossier en
utilisant Excel.Application GetOpenFilname.
La procédure plante à ReDim txt(1 To.Count)

Merci de votre aide.

Ablobaka


Dim Txt() As Integer
With Excel.Application.FileSearch
.NewSearch
.FileType = msoFileTypeAllFiles ' Plante ici mais la
procédure continue si ligne en comentaire
.LookIn = Chemin
.SearchSubFolders = False
.Execute

With .FoundFiles
ReDim Txt(1 To .Count) ' Plante ici !
For i = 1 To .Count
Txt(i) = Right(.Item(i), Len(.Item(i)) - InStrRev(.Item(i),
"\"))
Next i
End With

4 réponses

Avatar
Zoury
> je cherche à récupérer le nombre de fichiers .txt dans un dossier en
utilisant Excel.Application GetOpenFilname.



euhmm.. c'est surement très lourd pour rien.. non?

regarde ces liens :

via API (très rapide)
http://groups.google.com/groups?selm=uvC%241%24%23dAHA.1340%40tkmsftngp02


via VB (remplace Dir() par Dir$())
http://groups.google.com/groups?threadm=Ox1DXe2cCHA.1992%40tkmsftngp11


--
Cordialement
Yanick
MVP pour Visual Basic
La procédure plante à ReDim txt(1 To.Count)

Merci de votre aide.

Ablobaka


Dim Txt() As Integer
With Excel.Application.FileSearch
.NewSearch
.FileType = msoFileTypeAllFiles ' Plante ici mais la
procédure continue si ligne en comentaire
.LookIn = Chemin
.SearchSubFolders = False
.Execute

With .FoundFiles
ReDim Txt(1 To .Count) ' Plante ici !
For i = 1 To .Count
Txt(i) = Right(.Item(i), Len(.Item(i)) -


InStrRev(.Item(i),
""))
Next i
End With




Avatar
Christian
En fait, la variable txt est déclaré en string. Elle me sert à compter le
nombre de fichiers trouvé dans le dossier, mais aussi à les ouvrir un à un
par la suite.

Je dois ajouter que je débute sous VB. J'essai d'adapter une macro écrite en
VBA.
J'aimerai autant que possible garder la structure d'origine et modifier
uniquement ce qui est necessaire pour que ça tourne aussi dans une
application VB.

Merci pour les lianes


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:ulCEMYn%
> je cherche à récupérer le nombre de fichiers .txt dans un dossier en
> utilisant Excel.Application GetOpenFilname.

euhmm.. c'est surement très lourd pour rien.. non?

regarde ces liens :

via API (très rapide)
http://groups.google.com/groups?selm=uvC%241%24%23dAHA.1340%40tkmsftngp02


via VB (remplace Dir() par Dir$())
http://groups.google.com/groups?threadm=Ox1DXe2cCHA.1992%40tkmsftngp11


--
Cordialement
Yanick
MVP pour Visual Basic
> La procédure plante à ReDim txt(1 To.Count)
>
> Merci de votre aide.
>
> Ablobaka
>
>
> Dim Txt() As Integer
> With Excel.Application.FileSearch
> .NewSearch
> .FileType = msoFileTypeAllFiles ' Plante ici mais la
> procédure continue si ligne en comentaire
> .LookIn = Chemin
> .SearchSubFolders = False
> .Execute
>
> With .FoundFiles
> ReDim Txt(1 To .Count) ' Plante ici !
> For i = 1 To .Count
> Txt(i) = Right(.Item(i), Len(.Item(i)) -
InStrRev(.Item(i),
> ""))
> Next i
> End With
>
>




Avatar
Zoury
dac.

> > La procédure plante à ReDim txt(1 To.Count)



dans ce cas peux-tu nous dire quelle erreur tu obtiens sur cette ligne ?

--
Cordialement
Yanick
MVP pour Visual Basic
> >
> > Merci de votre aide.
> >
> > Ablobaka
> >
> >
> > Dim Txt() As Integer
> > With Excel.Application.FileSearch
> > .NewSearch
> > .FileType = msoFileTypeAllFiles ' Plante ici mais la
> > procédure continue si ligne en comentaire
> > .LookIn = Chemin
> > .SearchSubFolders = False
> > .Execute
> >
> > With .FoundFiles
> > ReDim Txt(1 To .Count) ' Plante ici !
> > For i = 1 To .Count
> > Txt(i) = Right(.Item(i), Len(.Item(i)) -
> InStrRev(.Item(i),
> > ""))
> > Next i
> > End With
> >
> >
>
>




Avatar
Christian
J'ai trouvé ! Ouf !
En cochant Microsoft Office 9 Library ça fonctionne.

Je ne suis pas pour autant au bout de mes peines.

Merci Yanick




"Christian" a écrit dans le message de
news:u55girn%
En fait, la variable txt est déclaré en string. Elle me sert à compter le
nombre de fichiers trouvé dans le dossier, mais aussi à les ouvrir un à un
par la suite.

Je dois ajouter que je débute sous VB. J'essai d'adapter une macro écrite


en
VBA.
J'aimerai autant que possible garder la structure d'origine et modifier
uniquement ce qui est necessaire pour que ça tourne aussi dans une
application VB.

Merci pour les lianes


"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:ulCEMYn%
> > je cherche à récupérer le nombre de fichiers .txt dans un dossier en
> > utilisant Excel.Application GetOpenFilname.
>
> euhmm.. c'est surement très lourd pour rien.. non?
>
> regarde ces liens :
>
> via API (très rapide)
>


http://groups.google.com/groups?selm=uvC%241%24%23dAHA.1340%40tkmsftngp02
>
>
> via VB (remplace Dir() par Dir$())
> http://groups.google.com/groups?threadm=Ox1DXe2cCHA.1992%40tkmsftngp11
>
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
> > La procédure plante à ReDim txt(1 To.Count)
> >
> > Merci de votre aide.
> >
> > Ablobaka
> >
> >
> > Dim Txt() As Integer
> > With Excel.Application.FileSearch
> > .NewSearch
> > .FileType = msoFileTypeAllFiles ' Plante ici mais la
> > procédure continue si ligne en comentaire
> > .LookIn = Chemin
> > .SearchSubFolders = False
> > .Execute
> >
> > With .FoundFiles
> > ReDim Txt(1 To .Count) ' Plante ici !
> > For i = 1 To .Count
> > Txt(i) = Right(.Item(i), Len(.Item(i)) -
> InStrRev(.Item(i),
> > ""))
> > Next i
> > End With
> >
> >
>
>