=C0 partir d'un champ, j'ouvre un fichier Access, par VBA,=20
dont le nom et mon champs sont en 'relations'.
Ex: Excel.exe C:\"&[champ]&".xls (je ne suis pas certain=20
de la propret=E9 de ce code, mais dans mon code vba, tout=20
est correct)
Le probl=E8me c'est que la fin du nom du fichier change=20
souvent (01;02;03) . Je voudrais donc qu'apr=E8s le nom de=20
mon champ, Access ouvre tout ce qui commence par mon champ.
Exemple: Le fichier C:\209-10-01-02.xls
Mon champ est ici 209. Je voudrais que Access ouvre le=20
fichier Excel en seule fonction du champ, m=EAme si le reste=20
(ici 10-01-02 est n'importe quoi.)
J'ai pens=E9 =E0: Excel.exe C:\"&[champ]&"-"&*&".xls =20
Mais =E7a ne fonctionne pas.
à ma connaissance on ne peux pas lancer excel par le shell et indiquer un joker dans le nom du classeur. il reste la solution de faire un FileSearch et de placer tous les fichiers à la suite. dans ce cas ça marche. ça donnerait ceci en résultat Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:392d01c47ef2$55b2c0a0$ Bonjour,
À partir d'un champ, j'ouvre un fichier Access, par VBA, dont le nom et mon champs sont en 'relations'. Ex: Excel.exe C:"&[champ]&".xls (je ne suis pas certain de la propreté de ce code, mais dans mon code vba, tout est correct)
Le problème c'est que la fin du nom du fichier change souvent (01;02;03) . Je voudrais donc qu'après le nom de mon champ, Access ouvre tout ce qui commence par mon champ.
Exemple: Le fichier C:209-10-01-02.xls
Mon champ est ici 209. Je voudrais que Access ouvre le fichier Excel en seule fonction du champ, même si le reste (ici 10-01-02 est n'importe quoi.)
J'ai pensé à: Excel.exe C:"&[champ]&"-"&*&".xls Mais ça ne fonctionne pas.
Merci, Maurice
Bonjour.
à ma connaissance on ne peux pas lancer excel par le shell et indiquer un
joker dans le nom du classeur.
il reste la solution de faire un FileSearch et de placer tous les fichiers à
la suite. dans ce cas ça marche.
ça donnerait ceci en résultat
Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:392d01c47ef2$55b2c0a0$a601280a@phx.gbl...
Bonjour,
À partir d'un champ, j'ouvre un fichier Access, par VBA,
dont le nom et mon champs sont en 'relations'.
Ex: Excel.exe C:"&[champ]&".xls (je ne suis pas certain
de la propreté de ce code, mais dans mon code vba, tout
est correct)
Le problème c'est que la fin du nom du fichier change
souvent (01;02;03) . Je voudrais donc qu'après le nom de
mon champ, Access ouvre tout ce qui commence par mon champ.
Exemple: Le fichier C:209-10-01-02.xls
Mon champ est ici 209. Je voudrais que Access ouvre le
fichier Excel en seule fonction du champ, même si le reste
(ici 10-01-02 est n'importe quoi.)
J'ai pensé à: Excel.exe C:"&[champ]&"-"&*&".xls
Mais ça ne fonctionne pas.
à ma connaissance on ne peux pas lancer excel par le shell et indiquer un joker dans le nom du classeur. il reste la solution de faire un FileSearch et de placer tous les fichiers à la suite. dans ce cas ça marche. ça donnerait ceci en résultat Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:392d01c47ef2$55b2c0a0$ Bonjour,
À partir d'un champ, j'ouvre un fichier Access, par VBA, dont le nom et mon champs sont en 'relations'. Ex: Excel.exe C:"&[champ]&".xls (je ne suis pas certain de la propreté de ce code, mais dans mon code vba, tout est correct)
Le problème c'est que la fin du nom du fichier change souvent (01;02;03) . Je voudrais donc qu'après le nom de mon champ, Access ouvre tout ce qui commence par mon champ.
Exemple: Le fichier C:209-10-01-02.xls
Mon champ est ici 209. Je voudrais que Access ouvre le fichier Excel en seule fonction du champ, même si le reste (ici 10-01-02 est n'importe quoi.)
J'ai pensé à: Excel.exe C:"&[champ]&"-"&*&".xls Mais ça ne fonctionne pas.
Merci, Maurice
Maurice
Rebonjour et merci pour votre aide.
Je ne suis juste pas certain du format pour votre code.
Voici le mien, pour un bouton de commande(je n'ai mis que la partie intéressante: ----------- Dim stAppName As String
Call Shell(stAppName, 1) ------------- Dans cet exemple-ci, le "B" peut être n'importe quoi (disons entre A, B, ou C)
Je cherche à placer votre : -- Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus -- Selon mon code
Merci, Maurice
Raymond [mvp]
ça convient comme ça pour un seul fichier connu. maintenant il faut rajouter les n fichiers trouvés.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:369a01c47f0a$2a824f00$ Rebonjour et merci pour votre aide.
Je ne suis juste pas certain du format pour votre code.
Voici le mien, pour un bouton de commande(je n'ai mis que la partie intéressante: ----------- Dim stAppName As String
Call Shell(stAppName, 1) ------------- Dans cet exemple-ci, le "B" peut être n'importe quoi (disons entre A, B, ou C)
Je cherche à placer votre : -- Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus -- Selon mon code
Merci, Maurice
ça convient comme ça pour un seul fichier connu.
maintenant il faut rajouter les n fichiers trouvés.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:369a01c47f0a$2a824f00$a301280a@phx.gbl...
Rebonjour et merci pour votre aide.
Je ne suis juste pas certain du format pour votre code.
Voici le mien, pour un bouton de commande(je n'ai mis que
la partie intéressante:
-----------
Dim stAppName As String
ça convient comme ça pour un seul fichier connu. maintenant il faut rajouter les n fichiers trouvés.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:369a01c47f0a$2a824f00$ Rebonjour et merci pour votre aide.
Je ne suis juste pas certain du format pour votre code.
Voici le mien, pour un bouton de commande(je n'ai mis que la partie intéressante: ----------- Dim stAppName As String
Call Shell(stAppName, 1) ------------- Dans cet exemple-ci, le "B" peut être n'importe quoi (disons entre A, B, ou C)
Je cherche à placer votre : -- Shell "excel.exe Fichier1 fichier2 fichier3", vbMaximizedFocus -- Selon mon code
Merci, Maurice
Alexandre
Merci,
Je me suis peut-être mal exprimé, mais ce n'est pas ce que je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle ouvre tous les fichiers que j'ai nommé, alors qu'il n'en existe qu'un. Donc à chacun qui n'existe pas elle dit introuvable.
Exemple plus clair: Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls' et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc si je fais votre procédure, il essaie d'ouvrir 'champ- A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future j'espère :-P
Alexandre
Merci,
Je me suis peut-être mal exprimé, mais ce n'est pas ce que
je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle
ouvre tous les fichiers que j'ai nommé, alors qu'il n'en
existe qu'un. Donc à chacun qui n'existe pas elle dit
introuvable.
Exemple plus clair:
Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls'
et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc
si je fais votre procédure, il essaie d'ouvrir 'champ-
A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je
voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future
j'espère :-P
Je me suis peut-être mal exprimé, mais ce n'est pas ce que je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle ouvre tous les fichiers que j'ai nommé, alors qu'il n'en existe qu'un. Donc à chacun qui n'existe pas elle dit introuvable.
Exemple plus clair: Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls' et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc si je fais votre procédure, il essaie d'ouvrir 'champ- A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future j'espère :-P
Alexandre
Raymond [mvp]
je ne donnais qu'un exemple de syntaxe de procédure et non une liste de fichiers réels à ouvrir. pour connaitre la liste des fichiers à ouvrir il faut utiliser la fonction Filesearch et placer tous les fichiers trouvés dans la commande shell.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Alexandre" a écrit dans le message de news:3b7601c47f0f$38f60220$ Merci,
Je me suis peut-être mal exprimé, mais ce n'est pas ce que je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle ouvre tous les fichiers que j'ai nommé, alors qu'il n'en existe qu'un. Donc à chacun qui n'existe pas elle dit introuvable.
Exemple plus clair: Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls' et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc si je fais votre procédure, il essaie d'ouvrir 'champ- A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future j'espère :-P
Alexandre
je ne donnais qu'un exemple de syntaxe de procédure et non une liste de
fichiers réels à ouvrir.
pour connaitre la liste des fichiers à ouvrir il faut utiliser la fonction
Filesearch et placer tous les fichiers trouvés dans la commande shell.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Alexandre" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:3b7601c47f0f$38f60220$a601280a@phx.gbl...
Merci,
Je me suis peut-être mal exprimé, mais ce n'est pas ce que
je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle
ouvre tous les fichiers que j'ai nommé, alors qu'il n'en
existe qu'un. Donc à chacun qui n'existe pas elle dit
introuvable.
Exemple plus clair:
Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls'
et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc
si je fais votre procédure, il essaie d'ouvrir 'champ-
A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je
voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future
j'espère :-P
je ne donnais qu'un exemple de syntaxe de procédure et non une liste de fichiers réels à ouvrir. pour connaitre la liste des fichiers à ouvrir il faut utiliser la fonction Filesearch et placer tous les fichiers trouvés dans la commande shell.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Alexandre" a écrit dans le message de news:3b7601c47f0f$38f60220$ Merci,
Je me suis peut-être mal exprimé, mais ce n'est pas ce que je cherchais, même si c'est proche.
La procédure que vous m'avez donné marche bien, mais elle ouvre tous les fichiers que j'ai nommé, alors qu'il n'en existe qu'un. Donc à chacun qui n'existe pas elle dit introuvable.
Exemple plus clair: Le fichier 'champ-A.xls' change de nom pour 'champ-B.xls' et ensuite pour 'champ-C.xls'.
Mais lorsqu'il change de nom, l'ancien n'existe plus. Donc si je fais votre procédure, il essaie d'ouvrir 'champ- A.xls' ET 'champ-B.xls' ET 'champ-C.xls' alors que je voudrais 'ou' au lieu de 'et'.
Merci énormément pour votre aide passée , et future j'espère :-P
Alexandre
Maurice
Bonjour,
J'ai essayé ceci:
--------- Private Sub Commande8_Click() With Application.FileSearch .NewSearch .LookIn = "C:Maurice" .SearchSubFolders = False .FileName = "70000-" & [champ] & ".xls" .MatchTextExactly = False .FileType = msoFileTypeAllFiles End With
End Sub ----------- (apres [champ] il peut y avoir d'autres choses, donc j'ai mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType = msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide, forums, etc...) mais je n'ai rien trouvé qui puisse m'aider la-dessus.
Merci encore, Maurice
Bonjour,
J'ai essayé ceci:
---------
Private Sub Commande8_Click()
With Application.FileSearch
.NewSearch
.LookIn = "C:Maurice"
.SearchSubFolders = False
.FileName = "70000-" & [champ] & ".xls"
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
End With
End Sub
-----------
(apres [champ] il peut y avoir d'autres choses, donc j'ai
mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType =
msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers
trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide,
forums, etc...) mais je n'ai rien trouvé qui puisse
m'aider la-dessus.
--------- Private Sub Commande8_Click() With Application.FileSearch .NewSearch .LookIn = "C:Maurice" .SearchSubFolders = False .FileName = "70000-" & [champ] & ".xls" .MatchTextExactly = False .FileType = msoFileTypeAllFiles End With
End Sub ----------- (apres [champ] il peut y avoir d'autres choses, donc j'ai mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType = msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide, forums, etc...) mais je n'ai rien trouvé qui puisse m'aider la-dessus.
Merci encore, Maurice
Raymond [mvp]
Il te faut cocher la référence Microsoft Office. pour un exemple de filesearch regarde sur la page: http://access.vba.free.fr/filesearch.htm il correspond à ton problème.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:42b301c47fa1$777e61d0$ Bonjour,
J'ai essayé ceci:
--------- Private Sub Commande8_Click() With Application.FileSearch .NewSearch .LookIn = "C:Maurice" .SearchSubFolders = False .FileName = "70000-" & [champ] & ".xls" .MatchTextExactly = False .FileType = msoFileTypeAllFiles End With
End Sub ----------- (apres [champ] il peut y avoir d'autres choses, donc j'ai mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide, forums, etc...) mais je n'ai rien trouvé qui puisse m'aider la-dessus.
Merci encore, Maurice
Il te faut cocher la référence Microsoft Office.
pour un exemple de filesearch regarde sur la page:
http://access.vba.free.fr/filesearch.htm
il correspond à ton problème.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:42b301c47fa1$777e61d0$a401280a@phx.gbl...
Bonjour,
J'ai essayé ceci:
---------
Private Sub Commande8_Click()
With Application.FileSearch
.NewSearch
.LookIn = "C:Maurice"
.SearchSubFolders = False
.FileName = "70000-" & [champ] & ".xls"
.MatchTextExactly = False
.FileType = msoFileTypeAllFiles
End With
End Sub
-----------
(apres [champ] il peut y avoir d'autres choses, donc j'ai
mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers
trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide,
forums, etc...) mais je n'ai rien trouvé qui puisse
m'aider la-dessus.
Il te faut cocher la référence Microsoft Office. pour un exemple de filesearch regarde sur la page: http://access.vba.free.fr/filesearch.htm il correspond à ton problème.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:42b301c47fa1$777e61d0$ Bonjour,
J'ai essayé ceci:
--------- Private Sub Commande8_Click() With Application.FileSearch .NewSearch .LookIn = "C:Maurice" .SearchSubFolders = False .FileName = "70000-" & [champ] & ".xls" .MatchTextExactly = False .FileType = msoFileTypeAllFiles End With
End Sub ----------- (apres [champ] il peut y avoir d'autres choses, donc j'ai mis: .MatchTextExactly = False
Il y a un débogage qui se fait sur .FileType msoFileTypeAllFiles
Et de plus je ne sais pas comment amener les fichiers trouvés à s'ouvrir avec shell.
J'ai cherché dans les différentes aides Access (Aide, forums, etc...) mais je n'ai rien trouvé qui puisse m'aider la-dessus.
Merci encore, Maurice
Maurice
Rebonjour et remerci pour toute votre aide.
Voici ce que j'ai tenté d'après vos codes, mais sans succès:
------------------------------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next NomDuChemin = "C:Maurice" NomDuFichier = "70000-*.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & .FoundFiles(I) & ";" Next I End If End With End Function ------------------------
Private Sub Commande8_Click() On Error GoTo Err_Commande8_Click
End Sub ---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then Erreur de compilation, sub ou fonction non définie. J'ai coché Microsoft Office 10.0 Object Library
Access 2000
Merci encore, Maurice
Rebonjour et remerci pour toute votre aide.
Voici ce que j'ai tenté d'après vos codes, mais sans
succès:
-------------------------------------------------
Public Function Chercher(NomDuChemin As String,
NomDuFichier As String, Sous_répertoires As Boolean) As
String
On Error Resume Next
NomDuChemin = "C:Maurice"
NomDuFichier = "70000-*.xls"
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If Execute(msoSortByFileName,
msoSortOrderAscending, True) > 0 Then
For I = 1 To .FoundFiles.Count
Chercher = Chercher & .FoundFiles(I) & ";"
Next I
End If
End With
End Function
------------------------
Private Sub Commande8_Click()
On Error GoTo Err_Commande8_Click
End Sub
---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument
non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending,
True) > 0 Then
Erreur de compilation, sub ou fonction non définie.
J'ai coché Microsoft Office 10.0 Object Library
Voici ce que j'ai tenté d'après vos codes, mais sans succès:
------------------------------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next NomDuChemin = "C:Maurice" NomDuFichier = "70000-*.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & .FoundFiles(I) & ";" Next I End If End With End Function ------------------------
Private Sub Commande8_Click() On Error GoTo Err_Commande8_Click
End Sub ---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then Erreur de compilation, sub ou fonction non définie. J'ai coché Microsoft Office 10.0 Object Library
Access 2000
Merci encore, Maurice
Maurice
Je voulais aussi dire que j'avais essayé d'entrer le NomDuFichier et dossier à chercher directement à FileSearch , mais lorsque je mettais le nom du fichier ou emplacement dans
Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String
(Remplacer NomDuChemin par C:Maurice ou "C:Maurice" Ça ne fonctionnait pas en raison du : VBA attendait que je mette des parenthèses ou autre, il le prenait comme une procédure.
Merci, Maurice
Je voulais aussi dire que j'avais essayé d'entrer le
NomDuFichier et dossier à chercher directement à
FileSearch , mais lorsque je mettais le nom du fichier ou
emplacement dans
Public Function Chercher(NomDuChemin As String,
NomDuFichier As String, Sous_répertoires As Boolean) As
String
(Remplacer NomDuChemin par C:Maurice ou "C:Maurice"
Ça ne fonctionnait pas en raison du : VBA attendait que je
mette des parenthèses ou autre, il le prenait comme une
procédure.
Je voulais aussi dire que j'avais essayé d'entrer le NomDuFichier et dossier à chercher directement à FileSearch , mais lorsque je mettais le nom du fichier ou emplacement dans
Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String
(Remplacer NomDuChemin par C:Maurice ou "C:Maurice" Ça ne fonctionnait pas en raison du : VBA attendait que je mette des parenthèses ou autre, il le prenait comme une procédure.
Merci, Maurice
Raymond [mvp]
Comme pour tous les exemples il faut ajuster à son problème particulier. je et'ai fait une procédure qui fonctionne:
Il faut rajouter Dim I as Long 'erreur de la fonction ne pas oublier le point dans .execute ' erreur de la fonction rajouter le excel.exe 'erreur à toi remplacer le ; par des guillemets pour pouvoir accepter les noms avec des espaces.
Private Sub Commande8_Click() Shell "Excel.exe " & Chercher(C:Maurice, "70000-*.xls", False) ' ou True End Sub
Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next Dim I As Long With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & """" & .FoundFiles(I) & """ " Next I End If End With End Function
ça devrait faire. les exemples resteront toujours des exemples. j'ai modifié immédiatement mon site pour corriger. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:420001c47fd5$0cf682a0$ Rebonjour et remerci pour toute votre aide.
Voici ce que j'ai tenté d'après vos codes, mais sans succès:
------------------------------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next NomDuChemin = "C:Maurice" NomDuFichier = "70000-*.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & .FoundFiles(I) & ";" Next I End If End With End Function ------------------------
Private Sub Commande8_Click() On Error GoTo Err_Commande8_Click
End Sub ---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then Erreur de compilation, sub ou fonction non définie. J'ai coché Microsoft Office 10.0 Object Library
Access 2000
Merci encore, Maurice
Comme pour tous les exemples il faut ajuster à son problème particulier. je
et'ai fait une procédure qui fonctionne:
Il faut rajouter
Dim I as Long 'erreur de la fonction
ne pas oublier le point dans .execute ' erreur de la fonction
rajouter le excel.exe 'erreur à toi
remplacer le ; par des guillemets pour pouvoir accepter les noms avec des
espaces.
Private Sub Commande8_Click()
Shell "Excel.exe " & Chercher(C:Maurice, "70000-*.xls", False) ' ou True
End Sub
Public Function Chercher(NomDuChemin As String, NomDuFichier As String,
Sous_répertoires As Boolean) As String
On Error Resume Next
Dim I As Long
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If .Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then
For I = 1 To .FoundFiles.Count
Chercher = Chercher & """" & .FoundFiles(I) & """ "
Next I
End If
End With
End Function
ça devrait faire.
les exemples resteront toujours des exemples.
j'ai modifié immédiatement mon site pour corriger.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:420001c47fd5$0cf682a0$a301280a@phx.gbl...
Rebonjour et remerci pour toute votre aide.
Voici ce que j'ai tenté d'après vos codes, mais sans
succès:
-------------------------------------------------
Public Function Chercher(NomDuChemin As String,
NomDuFichier As String, Sous_répertoires As Boolean) As
String
On Error Resume Next
NomDuChemin = "C:Maurice"
NomDuFichier = "70000-*.xls"
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
If Execute(msoSortByFileName,
msoSortOrderAscending, True) > 0 Then
For I = 1 To .FoundFiles.Count
Chercher = Chercher & .FoundFiles(I) & ";"
Next I
End If
End With
End Function
------------------------
Private Sub Commande8_Click()
On Error GoTo Err_Commande8_Click
End Sub
---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument
non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending,
True) > 0 Then
Erreur de compilation, sub ou fonction non définie.
J'ai coché Microsoft Office 10.0 Object Library
Comme pour tous les exemples il faut ajuster à son problème particulier. je et'ai fait une procédure qui fonctionne:
Il faut rajouter Dim I as Long 'erreur de la fonction ne pas oublier le point dans .execute ' erreur de la fonction rajouter le excel.exe 'erreur à toi remplacer le ; par des guillemets pour pouvoir accepter les noms avec des espaces.
Private Sub Commande8_Click() Shell "Excel.exe " & Chercher(C:Maurice, "70000-*.xls", False) ' ou True End Sub
Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next Dim I As Long With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If .Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & """" & .FoundFiles(I) & """ " Next I End If End With End Function
ça devrait faire. les exemples resteront toujours des exemples. j'ai modifié immédiatement mon site pour corriger. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Maurice" a écrit dans le message de news:420001c47fd5$0cf682a0$ Rebonjour et remerci pour toute votre aide.
Voici ce que j'ai tenté d'après vos codes, mais sans succès:
------------------------------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next NomDuChemin = "C:Maurice" NomDuFichier = "70000-*.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier .SearchSubFolders = Sous_répertoires .MatchTextExactly = True .FileType = msoFileTypeAllFiles If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then For I = 1 To .FoundFiles.Count Chercher = Chercher & .FoundFiles(I) & ";" Next I End If End With End Function ------------------------
Private Sub Commande8_Click() On Error GoTo Err_Commande8_Click
End Sub ---------------------------------------------------
À stAppName , il me dit Erreur de compilation, argument non facultatif.
À If Execute(msoSortByFileName, msoSortOrderAscending, True) > 0 Then Erreur de compilation, sub ou fonction non définie. J'ai coché Microsoft Office 10.0 Object Library