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 :

changer le repertoire courant par défaut avant getopenfilename


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut changer le repertoire courant par défaut avant getopenfilename
    bonjour à tous,
    j'aimerai changer le repertoire par défaut de la fonction getopenfilename,
    c'est à dire que j'aimerai lorsque j'appelle getopenfilename la boite de dialogue se place dans un repertoire bien précis. j'ai essayé de la manière suivante mais ça ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chdir "j:\cheminDuRepertoireQueJeVoulais"
    Application.GetOpenFilename()
    il fait comme ci je n'avais rien spécifié dans chdir.
    Merci d'avance pour votre aide
    j'avoue que ne sais plus quoi faire

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Chez moi, ca fonctionne très bien. (Excel 2003)
    "J" est un disque reseau ou un DD?

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Soir Bon, peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    ChDrive "J"
    ChDir "j:\cheminDuRepertoireQueJeVoulais"
    ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut getopenfilename
    bonsoir j est un disque reseau. Est-ce que ça change quelque chose?

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    C'était une idée le mieux c'est que tu fasses le test en choisissant un répertoire sur un disque physique de ta machine.

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    A mon avis, il est plus judicieux d'utiliser la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.FileDialog(msoFileDialogOpen)
    qui renvoie un objet pouvant être paramétré de manière beaucoup plus souple.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut ça marche
    j'ai utilisé ce code et ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Place l'utilisateur dans le bon répertoire
    ChDrive "j"
    ChDir "j:\repertoireVoulu"
     
    'ouvre la boite de dialogue de choix du fichier
     
    FichierChoisi = Application.GetOpenFilename()
    merci pour tout vous êtes super .

  8. #8
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 33
    Par défaut
    De plus si les personnes utilisant le code n'ont pas la même lettre du lecteur réseau (fréquent), il faut tout simplement récupérer la lettre du chemin réseau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TrameFolder = ActiveWorkbook.Path & Application.PathSeparator & "Trames" 
    ' ou encore TrameFolder = "\\NomDuServeur\DisqueReseau\Trames"
     
    lettreLecteur = Left(TrameFolder, 1) 'on récupère la lettre du lecteur reseau

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut FileDialog marche super bien
    FileDialog marche très bien. Voilà mon code :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Function selectFile(ext As String, extLabel As String, Optional titre As String) As String
     
        'Declare a variable as a FileDialog object.
        Dim fd As FileDialog
     
        'Create a FileDialog object as a File Picker dialog box.
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
     
        'Declare a variable to contain the path
        'of each selected item. Even though the path is aString,
        'the variable must be a Variant because For Each...Next
        'routines only work with Variants and Objects.
        Dim vrtSelectedItem As Variant
     
        'Use a With...End With block to reference the FileDialog object.
        With fd
            'Add a filter that includes Excel files and make it the second item in the list.
            .Filters.Add extLabel, ext, 1
            'Sets the initial file filter to number 2.
            .FilterIndex = 2
     
            'Set the initial path to the current file path.
            .InitialFileName = ActiveWorkbook.Path
            .AllowMultiSelect = False
            .Title = titre
     
            'Use the Show method to display the File Picker dialog box and return the user's action.
            'The user pressed the button.
            If .Show = -1 Then
     
                'Step through each string in the FileDialogSelectedItems collection.
                For Each vrtSelectedItem In .SelectedItems
     
                    'vrtSelectedItem is aString that contains the path of each selected item.
                    'You can use any file I/O functions that you want to work with this path.
                    'This example displays the path in a message box.
                    'MsgBox "The path is: " & vrtSelectedItem
                    selectFile = vrtSelectedItem
                Next vrtSelectedItem
            'The user pressed Cancel.
            Else
            End If
        End With
     
        'Set the object variable to Nothing.
        Set fd = Nothing
    End Function
    Merci.

    PS: une autre discussion sur le même sujet : http://www.developpez.net/forums/d67...toire-courant/

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2009, 11h46
  2. changer le compte email par défaut
    Par chtiot dans le forum Delphi
    Réponses: 8
    Dernier message: 22/05/2007, 12h09
  3. [Class Loader] changer le class loader par défaut
    Par Didier 69 dans le forum Langage
    Réponses: 1
    Dernier message: 17/10/2006, 14h02
  4. changer le repertoire courant d'un fichier
    Par Iria77 dans le forum Général Python
    Réponses: 3
    Dernier message: 27/09/2006, 11h17
  5. Réponses: 6
    Dernier message: 13/06/2006, 08h02

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