[VBA] Application.GetOpenFilename

Bonjour le forum,

J'aimerai en VBA ouvrir un fichier excel et j'aime beaucoup sous la forme d'explorateur windows avec [Application.GetOpenFilename]

sauf que ça n'ouvre pas réellement le fichier (c'est bien dit dans l'aide en ligne) mais on peut stocker dans une variable le chemin et le nom du fichier choisi dans une Msgbox (MsgBox "Open " & MaVariable)

je ne maitrise pas encore bien les variables, je dois m'y prendre bien mal, voici quelques exemples :

Windows(MaVariable).Open ou Activate
Workbooks(MaVariable).Open

mais je ne trouve pas ^^

Merci d'avance

Et bon réveillon

Bonjour,

un petit bout de code...

Sub cmdFileDialog()
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Veuillez sélectionner un fichier excel"
        .Filters.Clear
        .Filters.Add "Excel files", "*.XLS*"
        If .Show = True Then
         fname = .SelectedItems(1)
                Workbooks.Open fname
                ' traitement lié au fichier ouvert
        Else
            MsgBox "pas de fichier sélectionné"
        End If
    End With
End Sub

Bonjour h2so4,

Merci beaucoup, j'avais un ptit sac de noeud, en fait je ne sais pas structurer les façons de faire, disons que là je l'avais dans le désordre

Par contre pourrais tu STP m'expliquer pourquoi

[fileToopen = Application _
.GetOpenFilename("Excel Files (*.xlsx), *.xlsx")]

fonctionne bien en ouvrant une sorte d'explorateur Windows où on peut se promener dans l'arborescence puis choisir un fichier à ouvrir et "l'ouvrir" alors que ça ne l'ouvre pas réellement ? quel est l'intérêt ?

PS : en passant ce matin j'ai parcouru pas mal de recherche sur des forums dont excel-pratique et j'y ai lu quelques posts où tu avais répondu ^^

Bonjour,

getopenfilename tout comme filedialog(msoFileDialogFilePicker) est une fonction qui te permet de sélectionner un ou plusieurs fichiers.

A toi de prévoir dans ta macro, ce que tu veux faire du nom des fichiers sélectionnés.

tu peux les ouvrir, les copier, les supprimer, copier le nom dans ton classeur excel, ....

Bonjour h2so4,

Merci pour les explications et pour le bout de code fort utile

je trouve super bien les façons différentes que chacun a de faire ces bouts de code (variables, conditions, boucle ou pas, ... Etc.)

A une prochaine question

Rechercher des sujets similaires à "vba application getopenfilename"