Utiliser common dialog dans vb/vba d'une manière simple sans activer le composant dans le projet

Description

Bonjour tout le monde,

Cette fois-ci, je vous livre un module qui permet de sélectionner un fichier à l'aide d'un Common Dialog mais sans avoir besoin d'activer le composant ou de placer l'objet dans votre projet. Cela permet d'utiliser les Common Dialog d'une façon plus souple autant dans VB que dans VBA. Je sais que ce n'est pas une grande nouveauté mais ça peut être utile à quelques un.

Dites mois ce que vous en pensez !

Source / Exemple :


'Utilisation de la fonction :
'mettre une commande de type : Call OuvrirAvecCD("xls", "c:\", "TOTO fait du ski")
'Puis ont peux récupérer le chemin du fichier sélectionné par l'utilisateur
'dans la variable "FichierSélectionné"
'c'est tout !

Public FichierSélectionné As String

Public Function OuvrirAvecCD(Extension As String, DOSSIER As String, TITRE As String)
    FichierSélectionné = ""
    Set CD = CreateObject("MSComDlg.CommonDialog")
    On Error Resume Next
Debut:
    With CD
        .MaxFileSize = 260
        .InitDir = DOSSIER
        .CancelError = True
        .DialogTitle = TITRE
        .Filter = "Fichiers " & Extension & "(*." & Extension & ")|*." & Extension & "|"
        .FilterIndex = 1
        Err.Clear
        .ShowOpen
        If Err.Number <> 0 Then
            If MsgBox("Vous n'avez pas sélectionné de fichier." & Chr(10) & "Voulez-vous annuler la sélection ?", vbYesNo, TITRE) = vbYes Then
                Exit Function
            Else
                GoTo Debut
            End If
        End If
    End With
    FichierSélectionné = CD.FileName
    Set CD = Nothing
End Function

Conclusion :


Notez moi !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.