Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste des fichiers Excel d'un répertoire sous Mac

5 réponses
Avatar
Sylvain
Bonsoir,

Je recherche les paramètres pour la fonction dir ou autre pour créer une
liste des fichiers Excel. Pour l'instant j'ai modifié une procédure qui
n'est pas de moi. J'en suis là : un tri entre répertoires et fichiers (la
fonction ajoute ajoute le nom du fichier sur un onglet).

Sub liste_répertoire(ByVal i As Integer)
' Affiche les noms dans C:\ représentant des dossiers.
mypath = Sheets("répertoires").Cells(i, 3) ' Définit le chemin
d'accès.
myname = Dir(mypath, vbDirectory) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <> ".."
Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(mypath & myname) _
And vbDirectory) = vbDirectory Then
Call ajoute(myname & Application.PathSeparator, mypath,
"répertoires")
Else
Call ajoute(myname, mypath, "fichiers")
End If ' représente un dossier.
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Je cherche le moyen de filtrer les différents types de fichiers pour
retrouver les classeurs Excel. J'ai essayé ça mais ça n'a rien rendu.

Sub liste_fichiers_excel(ByVal mypath As String)
myname = Dir(mypath, MacID("XCEL")) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <> ".."
Then
Call ajoute(myname & Application.PathSeparator, mypath, "excel")
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Comme je dois faire des vérifications sur ces fichiers et que la liste de
tous les fichiers est de 5000 alors qu'il n'y a (que) 2000 fichiers excel ça
me ferait gagner du temps et puis c'est du meilleur travail.

Merci de votre intérêt et bon WE et bonne année à tous.

Sylvain

5 réponses

Avatar
Philippe.R
Bonsoir Sylvain,
As tu regardé sur le site de Frédéric Sigonneau si l'une ou l'autre des procédures listant les fichiers
qu'il propose peut convenir ?
http://frederic.sigonneau.free.fr/Fichiers.htm
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Sylvain" a écrit dans le message de news:
utgH$g0%
Bonsoir,

Je recherche les paramètres pour la fonction dir ou autre pour créer une liste des fichiers Excel.
Pour l'instant j'ai modifié une procédure qui n'est pas de moi. J'en suis là : un tri entre
répertoires et fichiers (la fonction ajoute ajoute le nom du fichier sur un onglet).

Sub liste_répertoire(ByVal i As Integer)
' Affiche les noms dans C: représentant des dossiers.
mypath = Sheets("répertoires").Cells(i, 3) ' Définit le chemin d'accès.
myname = Dir(mypath, vbDirectory) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <> ".." Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(mypath & myname) _
And vbDirectory) = vbDirectory Then
Call ajoute(myname & Application.PathSeparator, mypath, "répertoires")
Else
Call ajoute(myname, mypath, "fichiers")
End If ' représente un dossier.
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Je cherche le moyen de filtrer les différents types de fichiers pour retrouver les classeurs Excel.
J'ai essayé ça mais ça n'a rien rendu.

Sub liste_fichiers_excel(ByVal mypath As String)
myname = Dir(mypath, MacID("XCEL")) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <> ".." Then
Call ajoute(myname & Application.PathSeparator, mypath, "excel")
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Comme je dois faire des vérifications sur ces fichiers et que la liste de tous les fichiers est de
5000 alors qu'il n'y a (que) 2000 fichiers excel ça me ferait gagner du temps et puis c'est du
meilleur travail.

Merci de votre intérêt et bon WE et bonne année à tous.

Sylvain



Avatar
Sylvain
Merci de ton intérêt, je n'ai pas tout essayé, mais il me semble que ces
fonctions font le plus souvent appel aux API windows ce qui n'est pas adapté
dans mon cas.


"Philippe.R" a écrit dans le message de news:
OMX3HB1%
Bonsoir Sylvain,
As tu regardé sur le site de Frédéric Sigonneau si l'une ou l'autre des
procédures listant les fichiers qu'il propose peut convenir ?
http://frederic.sigonneau.free.fr/Fichiers.htm
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Sylvain" a écrit dans le message de
news: utgH$g0%
Bonsoir,

Je recherche les paramètres pour la fonction dir ou autre pour créer une
liste des fichiers Excel. Pour l'instant j'ai modifié une procédure qui
n'est pas de moi. J'en suis là : un tri entre répertoires et fichiers (la
fonction ajoute ajoute le nom du fichier sur un onglet).

Sub liste_répertoire(ByVal i As Integer)
' Affiche les noms dans C: représentant des dossiers.
mypath = Sheets("répertoires").Cells(i, 3) ' Définit le chemin
d'accès.
myname = Dir(mypath, vbDirectory) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(mypath & myname) _
And vbDirectory) = vbDirectory Then
Call ajoute(myname & Application.PathSeparator, mypath,
"répertoires")
Else
Call ajoute(myname, mypath, "fichiers")
End If ' représente un dossier.
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Je cherche le moyen de filtrer les différents types de fichiers pour
retrouver les classeurs Excel. J'ai essayé ça mais ça n'a rien rendu.

Sub liste_fichiers_excel(ByVal mypath As String)
myname = Dir(mypath, MacID("XCEL")) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
Call ajoute(myname & Application.PathSeparator, mypath,
"excel")
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Comme je dois faire des vérifications sur ces fichiers et que la liste de
tous les fichiers est de 5000 alors qu'il n'y a (que) 2000 fichiers excel
ça me ferait gagner du temps et puis c'est du meilleur travail.

Merci de votre intérêt et bon WE et bonne année à tous.

Sylvain






Avatar
docm
Bonjour.
Voici un exemple de commande qui devrait fonctionner.
Répertoire à adapter.
Fichier = Dir("HD:MY FOLDER:", MacId("XCEL"))

Amicalement.

"Sylvain" wrote in message
news:u5ED9B2#
Merci de ton intérêt, je n'ai pas tout essayé, mais il me semble que ces
fonctions font le plus souvent appel aux API windows ce qui n'est pas
adapté

dans mon cas.


"Philippe.R" a écrit dans le message de news:
OMX3HB1%
Bonsoir Sylvain,
As tu regardé sur le site de Frédéric Sigonneau si l'une ou l'autre des
procédures listant les fichiers qu'il propose peut convenir ?
http://frederic.sigonneau.free.fr/Fichiers.htm
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Sylvain" a écrit dans le message de
news: utgH$g0%
Bonsoir,

Je recherche les paramètres pour la fonction dir ou autre pour créer
une



liste des fichiers Excel. Pour l'instant j'ai modifié une procédure qui
n'est pas de moi. J'en suis là : un tri entre répertoires et fichiers
(la



fonction ajoute ajoute le nom du fichier sur un onglet).

Sub liste_répertoire(ByVal i As Integer)
' Affiche les noms dans C: représentant des dossiers.
mypath = Sheets("répertoires").Cells(i, 3) ' Définit le chemin
d'accès.
myname = Dir(mypath, vbDirectory) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(mypath & myname) _
And vbDirectory) = vbDirectory Then
Call ajoute(myname & Application.PathSeparator, mypath,
"répertoires")
Else
Call ajoute(myname, mypath, "fichiers")
End If ' représente un dossier.
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Je cherche le moyen de filtrer les différents types de fichiers pour
retrouver les classeurs Excel. J'ai essayé ça mais ça n'a rien rendu.

Sub liste_fichiers_excel(ByVal mypath As String)
myname = Dir(mypath, MacID("XCEL")) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
Call ajoute(myname & Application.PathSeparator, mypath,
"excel")
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Comme je dois faire des vérifications sur ces fichiers et que la liste
de



tous les fichiers est de 5000 alors qu'il n'y a (que) 2000 fichiers
excel



ça me ferait gagner du temps et puis c'est du meilleur travail.

Merci de votre intérêt et bon WE et bonne année à tous.

Sylvain










Avatar
Sylvain
Bonjour,

En effet c'est ce qui m'est venu à l'esprit (voir procédure 2), mais ça n'a
pas marché. Je retenterai. La version d'excel est 2001 peut-être que ça
correspond à un autre MacId ?
Merci en tout cas de vous pencher sur mon cas.

A+

"docm" a écrit dans le message de news:
u2vTX62%
Bonjour.
Voici un exemple de commande qui devrait fonctionner.
Répertoire à adapter.
Fichier = Dir("HD:MY FOLDER:", MacId("XCEL"))

Amicalement.

"Sylvain" wrote in message
news:u5ED9B2#
Merci de ton intérêt, je n'ai pas tout essayé, mais il me semble que ces
fonctions font le plus souvent appel aux API windows ce qui n'est pas
adapté

dans mon cas.


"Philippe.R" a écrit dans le message de news:
OMX3HB1%
Bonsoir Sylvain,
As tu regardé sur le site de Frédéric Sigonneau si l'une ou l'autre des
procédures listant les fichiers qu'il propose peut convenir ?
http://frederic.sigonneau.free.fr/Fichiers.htm
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Sylvain" a écrit dans le message de
news: utgH$g0%
Bonsoir,

Je recherche les paramètres pour la fonction dir ou autre pour créer
une



liste des fichiers Excel. Pour l'instant j'ai modifié une procédure
qui
n'est pas de moi. J'en suis là : un tri entre répertoires et fichiers
(la



fonction ajoute ajoute le nom du fichier sur un onglet).

Sub liste_répertoire(ByVal i As Integer)
' Affiche les noms dans C: représentant des dossiers.
mypath = Sheets("répertoires").Cells(i, 3) ' Définit le
chemin
d'accès.
myname = Dir(mypath, vbDirectory) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un dossier.
If (GetAttr(mypath & myname) _
And vbDirectory) = vbDirectory Then
Call ajoute(myname & Application.PathSeparator, mypath,
"répertoires")
Else
Call ajoute(myname, mypath, "fichiers")
End If ' représente un dossier.
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Je cherche le moyen de filtrer les différents types de fichiers pour
retrouver les classeurs Excel. J'ai essayé ça mais ça n'a rien rendu.

Sub liste_fichiers_excel(ByVal mypath As String)
myname = Dir(mypath, MacID("XCEL")) ' Extrait la première entrée.
Do While myname <> "" ' Commence la boucle.
' Ignore le dossier courant et le dossier
' contenant le dossier courant.
If myname <> ":" And myname <> "::" And myname <> "." And myname <>
".." Then
Call ajoute(myname & Application.PathSeparator, mypath,
"excel")
End If
myname = Dir ' Extrait l'entrée suivante.
Loop
End Sub

Comme je dois faire des vérifications sur ces fichiers et que la liste
de



tous les fichiers est de 5000 alors qu'il n'y a (que) 2000 fichiers
excel



ça me ferait gagner du temps et puis c'est du meilleur travail.

Merci de votre intérêt et bon WE et bonne année à tous.

Sylvain














Avatar
Sylvain
Bonsoir,

voici ce qui a finalement marché pour ceux que ça intéresse :

myname = Dir(mypath, MacID("XLS8"))

A+


"Sylvain" a écrit dans le message de news:
OhNhD38%
Bonjour,

En effet c'est ce qui m'est venu à l'esprit (voir procédure 2), mais ça
n'a pas marché. Je retenterai. La version d'excel est 2001 peut-être que
ça correspond à un autre MacId ?
Merci en tout cas de vous pencher sur mon cas.

A+