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

  1. #1
    Membre averti
    Comment ajouter plus d'extensions dans le "sFiltre = sFiltre & "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0) ' ?
    Bonjour membres du forum,
    Pourriez vous m'aider en donnant les différentes extensions des applications (Access, Word, Excel, PDF) ajouter à la ligne de code
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    sFiltre = sFiltre & "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0)
    '

    de la fonction suivante afin que je puisse faire une sélection de choix (soit le "Tous" ou "Access", ou "PDF", etc.).
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    Public Function OuvrirUnFichier(Handle As Long, _
                                    Titre As String, _
                                    TypeRetour As Byte, _
                                    Optional TitreFiltre As String, _
                                    Optional TypeFichier As String, _
                                    Optional RepParDefaut As String) As String
     
     ' OuvrirUnFichier est la fonction à utiliser dans votre formulaire pour ouvrir _
     ' la boîte de dialogue de sélection d'un fichier.
     ' Explication des paramètres
        ' Handle = le handle de la fenêtre
        ' Titre = titre de la boîte de dialogue
        ' TypeRetour (définit la valeur, de type String, renvoyée par la fonction)
            ' 1 = chemin complet + nom du fichier
            ' 2 = nom fichier seulement
        ' TitreFiltre = titre du filtre
            ' Exemple: fichier Access
            ' N'utilisez pas cet argument si vous ne voulez spécifier aucun filtre
        ' TypeFichier = extention du fichier (sans le .)
            ' Exemple: MDB
            ' N'utilisez pas cet argument si vous ne voulez spécifier aucun filtre
        ' RepParDefaut = répertoire d'ouverture par défaut
            ' Exemple: C:\windows\system32
            ' Si vous laissez l'argument vide, par défaut il se place dans le répertoire de votre application
     
    Dim StructFile As OPENFILENAME
    Dim sFiltre As String
     
     ' Construction du filtre en fonction des arguments spécifiés
    ''If Len(TitreFiltre) > 0 And Len(TypeFichier) > 0 Then
      ''sFiltre = TitreFiltre & " (" & TypeFichier & ")" & Chr$(0) & "*." & TypeFichier & Chr$(0)
    ''End If
     
    sFiltre = sFiltre & "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0)
     
    'sFiltre = sFiltre & "Access Databases" & "*.MDB" & Chr$(0) & "*.*" & Chr$(0)
    'Access
    'Excel
    'Word
    'etc
     ' Configuration de la boîte de dialogue
      With StructFile
        .lStructSize = Len(StructFile) ' Initialisation de la grosseur de la structure
        .hwndOwner = Handle ' Identification du handle de la fenêtre
        .lpstrFilter = sFiltre ' Application du filtre
        .lpstrFile = String$(254, vbNullChar) ' Initialisation du fichier '0' x 254
        .nMaxFile = 254 ' Taille maximale du fichier
        .lpstrFileTitle = String$(254, vbNullChar) ' Initialisation du nom du fichier '0' x 254
        .nMaxFileTitle = 254  ' Taille maximale du nom du fichier
        .lpstrTitle = Titre ' Titre de la boîte de dialogue
        .flags = OFN_HIDEREADONLY  ' Option de la boite de dialogue
        If ((IsNull(RepParDefaut)) Or (RepParDefaut = "")) Then
            RepParDefaut = CurrentDb.Name
            PathStripPath (RepParDefaut)
            .lpstrInitialDir = Left(CurrentDb.Name, Len(CurrentDb.Name) - Len(Mid$(RepParDefaut, 1, _
    InStr(1, RepParDefaut, vbNullChar) - 1)))
            Else: .lpstrInitialDir = RepParDefaut
        End If
      End With
     
    If (GetOpenFileName(StructFile)) Then ' Si un fichier est sélectionné
        Select Case TypeRetour
          Case 1: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFile, InStr(1, StructFile.lpstrFile, vbNullChar) - 1))
          Case 2: OuvrirUnFichier = Trim$(Left(StructFile.lpstrFileTitle, InStr(1, StructFile.lpstrFileTitle, vbNullChar) - 1))
        End Select
     End If
     
    End Function


    Une autre fonction qui affiche le chemin des fichiers sur un message box.
    Alors que mon objectif est d'ouvrir le fichier sélectionné.
    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
     
    ' ---
    ' SELECTION DE FICHIER AVEC FILTRE
    ' ---
    '
    Sub SelectionFichier()
      Dim fd As Office.FileDialog
     
      ' Créer un objet FileDialog
      Set fd = Application.FileDialog(msoFileDialogOpen)
     
      ' Titre de la boîte de dialogue
      fd.Title = "Sélectionnez un fichier..."
     
      ' Ne pas autoriser la sélection multiple
      ' (donc 1 seul fichier est sélectionnable à la fois)
      fd.AllowMultiSelect = False
     
      ' Définir les types de fichiers autorisés
      fd.Filters.Clear
      fd.Filters.Add "Tous les fichiers", "*.*"
      fd.Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.png; *.bmp"
      fd.Filters.Add "Bases de données", "*.mdb; *.mde; *.mda; *.accdb; *.accde"
     
      ' Présélectionner le 2ème type de fichier (images)
      fd.FilterIndex = 2
     
      ' Afficher la boîte de dialogue
      If fd.Show() Then
        MsgBox "Vous avez sélectionné le fichier : " _
          & vbCrLf & fd.SelectedItems(1), vbInformation
     
     
      End If
      Set fd = Nothing
    End Sub


    Cordialemnt.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  2. #2
    Membre régulier
    Bonjour,

    Je comprends pas bien ta question.

    Mais si tu cherches les extensions existantes tu peux déjà trouver une partie ici https://support.office.com/fr-fr/article/formats-open-xml-et-extensions-de-noms-de-fichiers-5200d93c-3449-4380-8e11-31ef14555b18 et ici https://support.microsoft.com/fr-be/help/4479981/windows-10-common-file-name-extensions et continuer à chercher dans les ressources Microsoft, je pense...

  3. #3
    Membre averti
    Citation Envoyé par Dermochelys Voir le message
    Bonjour,
    Je comprends pas bien ta question.
    Mais si tu cherches les extensions existantes tu peux déjà trouver une partie ici https://support.office.com/fr-fr/article/formats-open-xml-et-extensions-de-noms-de-fichiers-5200d93c-3449-4380-8e11-31ef14555b18 et ici https://support.microsoft.com/fr-be/help/4479981/windows-10-common-file-name-extensions et continuer à chercher dans les ressources Microsoft, je pense...
    Bonjour Dermochelys,
    Merci de m'avoir accordé un temps précieux pour m'orienter.
    J'ai exploré le chemin indiqué mais ce n'est ce que je recherche.

    Ma recherche est basée sur:
    - comment ouvrir le fichier sélectionné
    avec ce 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
     
    ' ---
    ' SELECTION DE FICHIER AVEC FILTRE
    ' ---
    '
    Sub SelectionFichier()
      Dim fd As Office.FileDialog
     
      ' Créer un objet FileDialog
      Set fd = Application.FileDialog(msoFileDialogOpen)
     
      ' Titre de la boîte de dialogue
      fd.Title = "Sélectionnez un fichier..."
     
      ' Ne pas autoriser la sélection multiple
      ' (donc 1 seul fichier est sélectionnable à la fois)
      fd.AllowMultiSelect = False
     
      ' Définir les types de fichiers autorisés
      fd.Filters.Clear
      fd.Filters.Add "Tous les fichiers", "*.*"
      fd.Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.png; *.bmp"
      fd.Filters.Add "Bases de données", "*.mdb; *.mde; *.mda; *.accdb; *.accde"
     
      ' Présélectionner le 2ème type de fichier (images)
      fd.FilterIndex = 2
     
      ' Afficher la boîte de dialogue
      If fd.Show() Then
        MsgBox "Vous avez sélectionné le fichier : " _
          & vbCrLf & fd.SelectedItems(1), vbInformation
     
      End If
      Set fd = Nothing
    End Sub


    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  4. #4
    Community Manager

    Salut,

    Citation Envoyé par morobaboumar Voir le message

    Ma recherche est basée sur:
    - comment ouvrir le fichier sélectionné
    Peut-être quela méthode proposé dans ce fil pourrait t'être utile : https://www.developpez.net/forums/d2...on-filedialog/
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  5. #5
    Membre averti
    Bonsoir Malick Sec,
    Merci de m'accorder un bon moment de votre temps précieux.
    Effectivement, les liens indiquées sont très riches.
    Permettez moi de vous signaler j'avais trouvé une bonne solution
    de la discussion suivante https://www.developpez.net/forums/d1871994/logiciels/microsoft-office/access/afficher-autres-applications-code/

    Seulement, je voudrais ajouter les filtres suivants:
    Exemple:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ' Définir les types de fichiers autorisés
      fd.Filters.Clear
      fd.Filters.Add "Tous les fichiers", "*.*"
      fd.Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.png; *.bmp"
      fd.Filters.Add "Bases de données", "*.mdb; *.mde; *.mda; *.accdb; *.accde"


    N'étant pas expert dans le domaine de la programmation informatique, c'est pourquoi je fais recourt à votre aide.
    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Membre averti
    Bonsoir membres du forum,
    Voici ce j'ai trouvé comme filtre:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sFiltre = sFiltre & "Tous (*.*)" & Chr(0) & "*.*" & Chr(0) & _
      "JPEG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0) & _
      "Images (*.JPG)" & Chr(0) & "*.gif; *.jpg; *.jpeg; *.png; *.bmp" & Chr(0) & _
      "Bases de données (*.*)" & Chr(0) & "*.mdb; *.mde; *.mda; *.accdb; *.accde" & Chr(0) & _
      "PDF (*.PDF)" & Chr(0) & "*.PDF" & Chr(0) & _
      "WORD (*.*)" & Chr(0) & "*.doc; *.docx" & Chr(0) & _
      "EXCEL (*.*)" & Chr(0) & "*.XLS; *.XLSX" & Chr(0)


    Pour le moment ça marche. Peut être pourriez vous me trouver mieux.
    Vraiment merci à Dermochelys, Malick Seck,
    merci à tee_grandbois, le m'a beaucoup aidé.
    Cordialement.
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort