Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/06/2011, 20h14   #1
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Par défaut filesearch access 2007

Bonjour tous le monde !

Après de multiple recherche, je n'arrive toujours pas à résoudre mon problème, c'est-à-dire remplacer le filesearch qui fonctionne sous access 2003 et non sous access 2007 ! N'y aurait-il pas une solution simple à ce problème ?
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 21h47   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Il y a le Filedialog avec la bibliothèque Microsoft Office 12.0 Object Library.
L'api windows également qui fonctionne quelque soit la version.

regarde dans la faq il y a des exemples.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h34   #3
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
REPERTOIRE = Me.import 'définie le réperoire où se trouve le document
'----------------------------------------------------------------------------------------------------------------------------------
'recherche les fichiers correspondant au code actif sur le formulaire
Me.NomDocument.RowSource = ""
Me.NomDocument.Value = "Sélectionner le fichier"
With Application.FileDialog
    .NewSearch
    .LookIn = REPERTOIRE
    .SearchSubFolders = False
    .FileName = "abc_"
    .MatchTextExactly = False
End With
'----------------------------------------------------------------------------------------------------------------------------------
With Application.FileSearch
    If .Execute() > 0 Then
        For i = 1 To .foundfiles.Count
            AdresseFichier = .foundfiles(i) 'AdresseFichier = explorateur Windows
            Me.NomDocument.RowSource = StrConv(Right(AdresseFichier, Len(AdresseFichier) - Len(REPERTOIRE)) & ";" & Me.NomDocument.RowSource, vbUpperCase)
 
        Next i
'----------------------------------------------------------------------------------------------------------------------------------
    Else
        MsgBox "Aucun fichier trouvé."
    End If
 
End With
voilà mon code de départ, quand je remplace par sa ne me donne pas le résultat attendu!
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 11h40   #4
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Salut,

moi j'ai ça qui fonctionne pour 2003 et 2007
C'est du VBE mais c'est du pareil au même.

en modifiant ce qu'il faut tu devrais arriver à tes fins!!

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
    wwFichierTarifs = InputBox("Nom du fichier tarifs à intégrer ", "Mise à jour des tarifs")
 
    If Not wwFichierTarifs = "" Then
        repertoire = ThisWorkbook.Path
        wwFichierTarifs = wwFichierTarifs
        With Application.FileSearch
            .LookIn = repertoire & ".xls"
            .Filename = wwFichierTarifs
                If .Execute > 0 Then 'Workbook existe
                    Workbooks.Open Filename:=repertoire & "\" & wwFichierTarifs & ".xls"
                    MAJTarifs
                Else
                    MsgBox wwMSG(5) & " " & wwFichierTarifs   
                End If
        End With
    End If
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 11h46   #5
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Regardes là : http://access.developpez.com/faq/?page=FD

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 12h15   #6
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
j'utilise vba sous access 2007, utiliser vbe c'est possible ? si oui comment ?
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 15h17   #7
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
VBE veut dire Visual Basic Editor. C'est l'éditeur que tu utilises pour écrire le code VBA (Visual Basic Application).

Je ne sais pas pourquoi Orakle à écrit ça :
Citation:
C'est du VBE mais c'est du pareil au même.
L'un est un éditeur l'autre un langage.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 18h36   #8
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Re

Loufab t'a donné l'explication.

Orakle t'a donnée un code qui fonction sous Excel.

Je te conseille d'aller voir du coté du lien que je t'ai donné qui est ce que t'expliquait Loufab.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 20h53   #9
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 939
Points : 7 939
bjr,

filedialog peut-il vraiment remplacer filesearch? ce n'est pas pour moi la même fonctionnalité

quand au code de Orakle, c'est du code qui utilise la méthode filesearch qui justement ne fonctionne pas sous 2007

je ne comprend pas tout

vous me dites si je me trompe

sinon pour remplacer filesearch, il y a des idées à prendre ici :
http://silkyroad.developpez.com/vba/classefilesearch/
c'est du excel mais ça a bien pour vocation de remplacer filesearch

pensez aussi à cherchez sur le support microsoft :
http://support.microsoft.com/kb/935402/fr

et sur le forum (il y a bien évidemment d'autres personnes qui ont déjà eu ce problème)
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 10h59   #10
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
je suis d'accord, filedialog n'a pas les même fonction que fiilesearch! pour information le code que j'avais écrit sous Access 2003 me servait à rechercher dans un répertoire donné tous les fichiers commencant par "abc" est de les inscrire dans la zone de liste modifiable!

j'ai regarder le liens que vous m'avez fournit mais je ne comprend pas
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 12h53   #11
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Voici un exemple de recherche simple avec la fonction VBA Dir(..)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim arrFiles() As String, lFilesCnt As Long, l As Long
Dim REPERTOIRE As String, strCriteria As String
Dim strFichier As String
 
' Dossier où chercher
REPERTOIRE = "C:\G\Ops"
' Critère de recherche = Dossier & "\" & "critère nom fichier"
strCriteria = REPERTOIRE & "\" & "E*.zip"
' Recherche
strFichier = Dir(strCriteria, vbNormal)
lFilesCnt = 0
Do While Len(strFichier) > 0
   lFilesCnt = lFilesCnt + 1
   ReDim Preserve arrFiles(0 To lFilesCnt - 1)
   arrFiles(lFilesCnt - 1) = strFichier
   ' Fichier suivant
   strFichier = Dir()
Loop
' S'il y au moins un fichier trouvé
If lFilesCnt > 0 Then
   For l = LBound(arrFiles) To UBound(arrFiles)
       Debug.Print arrFiles(l)
   Next
End If
Dans cet exemple on recherche les fichiers E*.zip dans le dossier C:\G\Ops

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 14h37   #12
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
une question : a quel moment dit on dans le code que les fichier trouvé commençant par "e" doivent etre présent dans la zone de liste modifiable ?
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 18h34   #13
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
sa ne fonctionne toujours pas quand j'utilise dir, sa me renvoye rien du tous
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2011, 20h30   #14
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
D'après le 1er code que ta as posté, ça devrait ressembler à
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim arrFiles() As String, lFilesCnt As Long, l As Long
Dim REPERTOIRE As String, strCriteria As String
Dim strFichier As String
 
' Dossier où chercher
REPERTOIRE = Me.import 'définie le réperoire où se trouve le document
' Critère de recherche = Dossier & "\" & "critère nom fichier"
strCriteria = REPERTOIRE
if Right(strCriteria, 1) <> "\" Then strCriteria = strCriteria & "\"
strCriteria = strCriteria & "abc_*.*"
' Recherche
strFichier = Dir(strCriteria, vbNormal)
lFilesCnt = 0
Do While Len(strFichier) > 0
   lFilesCnt = lFilesCnt + 1
   ReDim Preserve arrFiles(0 To lFilesCnt - 1)
   arrFiles(lFilesCnt - 1) = strFichier
   ' Fichier suivant
   strFichier = Dir()
Loop
' S'il y au moins un fichier trouvé
If lFilesCnt > 0 Then
   For l = LBound(arrFiles) To UBound(arrFiles)
       AdresseFichier = arrFiles(l) 'AdresseFichier = explorateur Windows
       Me.NomDocument.RowSource = StrConv(Right(AdresseFichier, Len(AdresseFichier) - Len(REPERTOIRE)) & ";" & Me.NomDocument.RowSource, vbUpperCase)
   Next
Else
   MsgBox "Aucun fichier trouvé." 
End If
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/06/2011, 22h19   #15
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
MERCI MERCI MERCI MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 09h44   #16
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Désolé pour le coup du VBE, c'est une déformation chez moi pour parler de VB pour Excel.
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 18h19   #17
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
C'est ce que j'ai compris à la relecture.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 22h11   #18
Futur Membre du Club
 
Femme myriam aslam
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Femme myriam aslam
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 18
Points : 18
GRAND PROBLEME le programme effectue bien une recherche mais renvoie que une partie du nom du fichier rechercher, c'est-à-dire au lieu de récupérer "abc0101" je vais plutôt avoir "0102" voir quelque fois"102"!!!
A quoi est ce du ?
myriame est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 17h59   #19
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

ça doit venir de cette ligne
Code :
       Me.NomDocument.RowSource = StrConv(Right(AdresseFichier, Len(AdresseFichier) - Len(REPERTOIRE)) & ";" & Me.NomDocument.RowSource, vbUpperCase)
Dir(..) renvoie un nom de fichier sans le chemin.
Essaie en la remplaçant par
Code :
       Me.NomDocument.RowSource = StrConv(AdresseFichier, vbUpperCase) & ";" & Me.NomDocument.RowSource
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h20.


 
 
 
 
Partenaires

Hébergement Web