=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.
Rebonjour et remerci encore pour toute votre aide. Il y a juste un petit problème avec les chemins d'accès. Pour les deux lignes notés ci-bas. J'ai essayé plusieurs manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit qu'il attend un séparateur de liste ou ). C'est la même chose pour le 2-, sauf qu'il attend en plus une fin d'instruction à '70000'.
Pour le 1-, j'ai essayé de régler avec ceci: ------------------------------ NomDuChemin = "Excel.exe ""C:Maurice""" NomDuFichier = "70000-abc-01.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier (etc....) ------------------------------ Pour 2- Avec ceci: Private Sub Commande8_Click() Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)""" End Sub ------------------------- Dans les cas testés, si ça fonctionne un peu, il me dit: '&Chercher(C:Maurice70000-*.xls).xls
Code Complet: ------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next Dim I As Long NomDuChemin = "Excel.exe ""C:Maurice""" NomDuFichier = "" 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() Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)""" End Sub -----------------------
Merci Maurice
Rebonjour et remerci encore pour toute votre aide.
Il y a juste un petit problème avec les chemins d'accès.
Pour les deux lignes notés ci-bas. J'ai essayé plusieurs
manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit
qu'il attend un séparateur de liste ou ).
C'est la même chose pour le 2-, sauf qu'il attend en plus
une fin d'instruction à '70000'.
Pour le 1-, j'ai essayé de régler avec ceci:
------------------------------
NomDuChemin = "Excel.exe ""C:Maurice"""
NomDuFichier = "70000-abc-01.xls"
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
(etc....)
------------------------------
Pour 2- Avec ceci:
Private Sub Commande8_Click()
Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)"""
End Sub
-------------------------
Dans les cas testés, si ça fonctionne un peu, il me dit:
'&Chercher(C:Maurice70000-*.xls).xls
Code Complet:
-------------------------
Public Function Chercher(NomDuChemin As String,
NomDuFichier As String, Sous_répertoires As Boolean) As
String
On Error Resume Next
Dim I As Long
NomDuChemin = "Excel.exe ""C:Maurice"""
NomDuFichier = ""
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()
Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)"""
End Sub
-----------------------
Rebonjour et remerci encore pour toute votre aide. Il y a juste un petit problème avec les chemins d'accès. Pour les deux lignes notés ci-bas. J'ai essayé plusieurs manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit qu'il attend un séparateur de liste ou ). C'est la même chose pour le 2-, sauf qu'il attend en plus une fin d'instruction à '70000'.
Pour le 1-, j'ai essayé de régler avec ceci: ------------------------------ NomDuChemin = "Excel.exe ""C:Maurice""" NomDuFichier = "70000-abc-01.xls" With FileSearch .NewSearch .LookIn = NomDuChemin .FileName = NomDuFichier (etc....) ------------------------------ Pour 2- Avec ceci: Private Sub Commande8_Click() Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)""" End Sub ------------------------- Dans les cas testés, si ça fonctionne un peu, il me dit: '&Chercher(C:Maurice70000-*.xls).xls
Code Complet: ------------------------- Public Function Chercher(NomDuChemin As String, NomDuFichier As String, Sous_répertoires As Boolean) As String On Error Resume Next Dim I As Long NomDuChemin = "Excel.exe ""C:Maurice""" NomDuFichier = "" 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() Shell "Excel.exe "" & Chercher(C:Maurice70000-*.xls)""" End Sub -----------------------
Merci Maurice
Raymond [mvp]
j'ai oublié les guillemets: Shell "Excel.exe " & Chercher("C:Maurice", "70000-*.xls", False) ' ou True
ne pas toucher la fonction. donc nouvelle version:
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
-- @+ 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:4a4301c48068$228df7e0$ Rebonjour et remerci encore pour toute votre aide. Il y a juste un petit problème avec les chemins d'accès. Pour les deux lignes notés ci-bas. J'ai essayé plusieurs manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit qu'il attend un séparateur de liste ou ). C'est la même chose pour le 2-, sauf qu'il attend en plus une fin d'instruction à '70000'.
j'ai oublié les guillemets:
Shell "Excel.exe " & Chercher("C:Maurice", "70000-*.xls", False) ' ou True
ne pas toucher la fonction.
donc nouvelle version:
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
--
@+
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:4a4301c48068$228df7e0$a301280a@phx.gbl...
Rebonjour et remerci encore pour toute votre aide.
Il y a juste un petit problème avec les chemins d'accès.
Pour les deux lignes notés ci-bas. J'ai essayé plusieurs
manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit
qu'il attend un séparateur de liste ou ).
C'est la même chose pour le 2-, sauf qu'il attend en plus
une fin d'instruction à '70000'.
j'ai oublié les guillemets: Shell "Excel.exe " & Chercher("C:Maurice", "70000-*.xls", False) ' ou True
ne pas toucher la fonction. donc nouvelle version:
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
-- @+ 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:4a4301c48068$228df7e0$ Rebonjour et remerci encore pour toute votre aide. Il y a juste un petit problème avec les chemins d'accès. Pour les deux lignes notés ci-bas. J'ai essayé plusieurs manières de les nommer, mais ça ne marchait pas.
Dans le premier, à la 'barre oblique' et au ':', il dit qu'il attend un séparateur de liste ou ). C'est la même chose pour le 2-, sauf qu'il attend en plus une fin d'instruction à '70000'.
Private Sub Commande8_Click() Dim NomDuChemin As String NomDuChemin = "Excel.exe ""C:Maurice""" Shell "Excel.exe " & Chercher(NomDuChemin, "70000-abc- 01.xls", False) End Sub
J'avais mal compris le code de chercher. Sauf qu'il ouvre une page vierge, alors que le fichier existe.
Dans la Public Function, Que faut-il que je mette comme nom de fichier? "70000-*.xls"
Merci, Maurice
J'ai essayé ceci pour la commande 8:
Private Sub Commande8_Click()
Dim NomDuChemin As String
NomDuChemin = "Excel.exe ""C:Maurice"""
Shell "Excel.exe " & Chercher(NomDuChemin, "70000-abc-
01.xls", False)
End Sub
J'avais mal compris le code de chercher.
Sauf qu'il ouvre une page vierge, alors que le fichier
existe.
Dans la Public Function, Que faut-il que je mette comme
nom de fichier? "70000-*.xls"
Private Sub Commande8_Click() Dim NomDuChemin As String NomDuChemin = "Excel.exe ""C:Maurice""" Shell "Excel.exe " & Chercher(NomDuChemin, "70000-abc- 01.xls", False) End Sub
J'avais mal compris le code de chercher. Sauf qu'il ouvre une page vierge, alors que le fichier existe.
Dans la Public Function, Que faut-il que je mette comme nom de fichier? "70000-*.xls"
Merci, Maurice
Maurice
Merci! Tout fonctionne à merveille!
Je sais que l'Univers et la bêtise humaine sont infinies, mais je ne sais pas si d'autres choses peuvent l'être. Si oui, alors je vous remercie infiniement, et sinon, vraiment vraiment beaucoup.
Merci, Maurice
Merci! Tout fonctionne à merveille!
Je sais que l'Univers et la bêtise humaine sont infinies,
mais je ne sais pas si d'autres choses peuvent l'être.
Si oui, alors je vous remercie infiniement, et sinon,
vraiment vraiment beaucoup.
Je sais que l'Univers et la bêtise humaine sont infinies, mais je ne sais pas si d'autres choses peuvent l'être. Si oui, alors je vous remercie infiniement, et sinon, vraiment vraiment beaucoup.