IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

ouverture fenêtre windows


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut ouverture fenêtre windows
    Bonjour

    Pour le bon fonctionnement de mon programme, je voudrais que quand l'utilisateur clique sur un bouton, une fenêtre windows avec l'arborescence de l'ordi s'ouvre pour que l'utilisateur puisse sélectionner le fichier qui contient les données à traiter. Le chemin du fichier sélectionné serait stocké dans une variable pour être ensuite réutilisé dans une procédure.
    Je n'arrive pas à trouver comment faire, vous pouvez m'aider svp ?
    merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    As tu consulté la FAQ ?

    Comment choisir un fichier sur le PC et récupérer son nom (utilisation de GetOpenFilename) ?


    Et si tu disposes d'OfficeXP (ou ultérieur)

    Comment utiliser la boîte de dialogue FileDialog ?
    (msoFileDialogFilePicker)



    bonne journée
    michel

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut merci
    merci
    j'avais mal cherché
    bonne journée

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    bonjour

    j'ai encore un pb : j'ai essayé d'adapter la procédure mais je n'arrive pas à rentrer le chemin du fichier dans une variable.

    voilà ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Function ChoixFichier(nom As String) As Variant
        'La variable est de type Variant car elle peut prendre les valeurs:
            'Booleenne: (Vrai/Faux) quand l'utilisateur ne sélectionne rien, ou annule l'opération.
            'String: pour renvoyer le nom du fichier sélectionné.
        Dim Fichier As Variant
     
        'Affiche la boîte de dialogue "Ouvrir"
        Fichier = Application.GetOpenFilename("fichiers csv(*.csv),*.csv", 2, nom) 'affiche seulement les fichiers csv
     
        'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
        'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
        If Fichier = False Then Exit Function
     
        ChoixFichier = Fichier
     
        'Affiche le chemin et le nom du fichier sélectionné.
        MsgBox Fichier
     
    End Function
    le pb c'est qu'à chaque fois que j'appelle le résulat de cette fonction en paramètre d'une autre procédure, la fenêtre "ouvrir" apparaît alors que je voudrais juste récupérer le chemin d'accès


    merci de votre aide

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir à tous


    Tu devrais déclarer ta variable Fichier en haut de ton module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Fichier As Variant
    'ou
    'Dim Fichier as Variant
    Sub test()
    ChoixFichier "monTitre"
    Workbooks.OpenText Filename:=Fichier
    End Sub
    et supprimer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         'Dim Fichier As Variant
    dans ta fonction

    Tu devrais jeter un œil ici particulièrement le chapitre V


    En espérant que cela t'aidera
    cordialement

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Bonsoir

    Tout d'abord merci de votre aide. Vous avez raison, je pense que j'ai mal déclaré mes variables, par contre votre solution n'est pas tout à fait adaptée à ce que je cherche à faire.
    En effet je souhaiterais stocker plusieurs chemins d'accès : l'utilisateur appelle plusieurs fois la fonction pour chercher plusieurs dossiers différents, c'est pour cela que ma fonction a un paramètre, le chemin d'accès à stocker dépend de ce paramètre.

    Pour l'instant j'ai adapté mon code pour que la fenêtre ouvrir ne s'ouvre pas plusieurs fois de suite mais pour la suite je suis bloquée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub CommandButton1_Click() 'bouton satellites
    Dim nb_lignes1 As Integer
    Dim nb_col1 As Integer
    'Call ChoixFichier("satellite")
    'Call Lecture_fichier(ChoixFichier("satellite"), 1)
    nb_lignes1 = Lecture_fichier(ChoixFichier("satellite"), 1)
    nb_col1 = 30 + 2
    Call enregistrement_donnees(1, "satellites", nb_lignes1, nb_col1, 3)
    End Sub
    Si vous avez des conseils ...
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancement automatique à l'ouverture : fenêtre windows de saisie
    Par mohamed_ dans le forum SAS AF et formulaires
    Réponses: 4
    Dernier message: 22/10/2010, 13h35
  2. [JFrame] Ouverture fenêtre autre part que dans coin haut gauche
    Par tooney dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 28/05/2005, 20h36
  3. Réponses: 1
    Dernier message: 26/02/2005, 12h55
  4. Détecter ouverture fenêtre
    Par goutbouyo dans le forum Windows
    Réponses: 2
    Dernier message: 28/10/2004, 00h40
  5. Style d'un fenêtre Windows
    Par Zazeglu dans le forum Windows
    Réponses: 4
    Dernier message: 12/10/2003, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo