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 03/05/2011, 14h04   #1
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 12
Points : 3
Points : 3
Par défaut Utilise le contrôle Common Dialog pour récupérer le chemin d'un fichier

Bonjour,

J'ai trouvé sur la faq ce code, ouvrant une boite de dialogue récupérant le nom d'un fichier :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Private Sub Btn_Chercher_Click()
    With dlg
        .DialogTitle = "selectionner un fichier" 'titre de la boite
        .FileName="*.txt" 'on recherche un fichier d'extension txt
        .initDir="c:\" 'repertoire par defaut
        .CancelError = false 'pour ne pas partir en erreur si on click sur annuler
        .ShowOpen
    End With
    'txtPath est la zone de texte recevant le chemin du fichier
    txtPath = dlg.FileName 
End Sub
Avec comme commentaire ceci :

Ouvrir un module (page de code) :
- menu Tools (Outils)
- item References (Références)
- Cochez la référence Microfoft Common Dialog Control

Dans la barre d'outils, click sur le dernier bouton More controls / Autres Contrôles. Dans la liste qui s'ouvre choisissez le control Microsoft Common Dialog Control et placez le sur le formulaire. Nous le nommons Dlg.

lien : http://access.developpez.com/faq/?pa...ecupChemFicDlg


Mon problème est que dans mon ACCESS 2007, je ne trouve pas microsoft common dialog control. Normalement je devrais le trouver mais après 3 relectures de toutes les références, je n'en trouve pas une qui s'en approcherait.

J'aimerais savoir si cette référence à changé de nom depuis l'écriture de la faq et si non, une idée du pourquoi je ne la retrouve pas?

Merci d'avance

Terence hill
terence-hill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 19h28   #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 623
Points : 11 623
Bonjour,

Tu peux également utiliser FileDialog de Microsoft Office 12 Object Library à défaut du common dialog.

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 10
Vieux 04/05/2011, 09h35   #3
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 12
Points : 3
Points : 3
Merci bien je vais regarder si le code marche avec cette référence.

Terence-hill
terence-hill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2011, 10h35   #4
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : avril 2011
Messages : 12
Points : 3
Points : 3
C'est bon, merci Loufab, avec la FAQ, toi et l'aide d'ACCESS j'y suis arrivé.

Voici mon code dépendant de la référence "FileDialog de Microsoft Office 12 Object Library", il me permet d'importer 2 colonnes de plusieurs fichiers Excel dans une seule table ACCESS, à condition que les titres des colonnes dans les fichiers Excel soient toujours les mêmes. J'essayerais peut être de voir comment on peut faire si elles n'ont pas le même nom.

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
Public Function import() 'Importation de fichier excel dans une table ACCESS
 
    'Declaration des variables.
    Dim dlg As FileDialog
    Dim chemin As Variant
    Set dlg = Application.FileDialog(msoFileDialogFilePicker)
 
    With dlg
        .InitialFileName = "C:\" 'repertoire par defaut
        .Title = "Selectionnez tout les fichiers dont vous avez besoin" 'titre de la boite
        .InitialFileName = "*.xls" 'on recherche un fichier d'extension xls
        If .Show = -1 Then
            'pour chaque fichier selectionné j'ajoute les deux premières colonnes à ma table auteur_essai
            For Each chemin In .SelectedItems
                DoCmd.TransferSpreadsheet acImport, 8, "auteur_essai", chemin, True, "A:B"
                'Pour cette étape il est obligatoire que dans chaque fichier Excel les en-têtes de colonnes aient le même nom
            Next chemin
        'utilisateur annule
        Else
        End If
    End With
 
    'reinitialise la variable comme nulle
    Set dlg = Nothing
 
End Function
Encore merci Loufab

Terence-hill
terence-hill 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 10h32.


 
 
 
 
Partenaires

Hébergement Web