Commondialog VB (afficher fichier)

salut tous le monde
je souhaite ouvrir un fichier en utilisant un commondialog sous VB.
comment faire?
nb:je n'ai jamais programmer en VB .
merci pour votre aide

4 réponses

  1. cette partie de code recupere le chemin d'un fichier dans filepath et lit le fichier text pour afficher son contenu dans une list box

    il faut ajouter la commande commondialog sur le form ou il y a le bouton.

    Private Sub Command2_Click()

    Dim fs As Object
    Dim Rep As Integer, Filenumber As Integer
    Dim filepath As String, TMPligne As String
    Dim Ext As Variant

    Set fs = CreateObject("Scripting.FileSystemObject")

    filepath = FiletoOpen(CommonDialog1, App.Path, True, "Fichier à charger", cdlOFNHideReadOnly, "Fichiers (*.txt)|*.txt", 2)
    If filepath <> "" Then
    Ext = Extension(filepath)
    'MsgBox (Ext)
    If LCase(Ext) = "txt" Then
    If fs.FileExists(filepath) Then
    Filenumber = FreeFile ' Lit le numéro de fichier inutilisé.
    ' Crée le nom du fichier.
    Open filepath For Input As #Filenumber
    Do While Not EOF(Filenumber)
    Line Input #Filenumber, TMPligne
    List1.AddItem (TMPligne)
    Loop
    Close #Filenumber ' Ferme le fichier.
    Else
    Rep = MsgBox("Le fichier " & filepath & " n'existe pas Veuillez choisir un autre fichier", vbCritical, "Erreur")
    End If
    Else
    Rep = MsgBox("Le format du fichier est incorrecte veuillez choisir un fichier Excel", vbCritical, "Erreur")
    End If
    End If
    End Sub

    bye

    mickael
    1. z'avais oublier cette fonction desoler!!!

      Public Function FiletoOpen(Commondial As CommonDialog, inipath As Variant, Optional varCancelError As Boolean, Optional title As String, Optional flag As Variant, Optional filtr As String, Optional filtridx As Integer, Optional ObjetBox As Object) As String

      Commondial.CancelError = varCancelError ' Attribue à CancelError la valeur True
      On Error GoTo ErrHandler
      Commondial.DialogTitle = title ' Définit le titre de la fenêtre
      Commondial.Flags = flag ' Définit la propriété Flags
      Commondial.InitDir = inipath ' Chemin Initial
      Commondial.Filter = filtr ' Définit les filtres
      Commondial.FilterIndex = filtridx ' Définit le filtre par défaut
      Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture
      ' Enregistrement du Chemin Selectionné
      FiletoOpen = Commondial.FileName

      ErrHandler:
      'L'utilisateur a cliqué sur Annuler
      End Function
      1. Encore une boulette à la place de cette ligne :

        Commondial.ObjetBox ' Affiche la boîte de dialogue Ouverture

        mettre cette ligne

        Commondial.ShowOpen

        dsl c'est la fin de semaine
        1. bonsoir ,
          Au secours , je travaille en ce moment sur une application d'envoin d'un mail et je souhaite joindre des fichiers (.xls,.doc,.zip) à mon mail avant de l'envoyer via outlook. je ne sais comment faire pour joindre les fichiers, à l'aide s'il vous plait.
          autre chose , je ne sais si c'est possible d'extraire des données ( requêtes) dans une base sql et de les afficher dans un form dans des textbox distinct ou même dans un seul textbox. svp svp aidez moi , ça fait longtemps que je cherche une solution.
          merci d'avance
          1. Bonjour Josavoi,

            Alors en ce qui concerne ta première demande pour attacher un fichier à un mail, en règle générale il faut que tu ouvre ton fichier en binaire que tu l'encode en base 64 et (il me semble) que tu en face des lignes d'une certaine longueur (troncature) . Tu place ca dans une section attachement dans ton mail à la suite du corps du message. Tu dois obtenir ainsi quelque chose sous format text un peu comme ceci :

            To:xxxxxx@agencemultiservices.eu
            Subject: Fw:
            Date: Sat, 4 Apr 2009 00:00:09 +0200
            MIME-Version: 1.0
            Content-Type: multipart/mixed;
            boundary="----=_NextPart_000_005A_01C9B4B8.51BB95C0"
            X-Priority: 3
            X-MSMail-Priority: Normal
            X-Mailer: Microsoft Outlook Express 6.00.2800.1807
            X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807
            X-me-spamlevel: not-spam
            X-me-spamrating: 34.000000
            X-me-spamcause: OK, (-150)(0000)
            X-Antivirus: avast! (VPS 090424-0, 24/04/2009), Inbound message
            X-Antivirus-Status: Clean

            This is a multi-part message in MIME format.

            ------=_NextPart_000_005A_01C9B4B8.51BB95C0
            Content-Type: multipart/alternative;
            boundary="----=_NextPart_001_005B_01C9B4B8.51BB95C0"

            ------=_NextPart_001_005B_01C9B4B8.51BB95C0
            Content-Type: text/plain;
            charset="iso-8859-1"
            Content-Transfer-Encoding: quoted-printable

            ici le texte du corps du message sous format text

            ------=_NextPart_001_005B_01C9B4B8.51BB95C0
            Content-Type: text/html;
            charset="iso-8859-1"
            Content-Transfer-Encoding: quoted-printable

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
            <HTML><HEAD><TITLE>Flashmail</TITLE>
            <META http-equiv=3DContent-Type content=3D"text/html; =
            charset=3Diso-8859-1">
            <STYLE type=3Dtext/css>BODY {
            PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
            0px; PADDING-TOP: 0px
            }
            TABLE {
            PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
            0px; PADDING-TOP: 0px
            }
            TR {
            PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
            0px; PADDING-TOP: 0px
            }
            TD {
            PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
            0px; PADDING-TOP: 0px
            }
            P {
            PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
            0px; PADDING-TOP: 0px
            }
            BODY {
            BACKGROUND: #ffffff
            }
            </STYLE>

            <META content=3D"MSHTML 6.00.2800.1561" name=3DGENERATOR></HEAD>
            <BODY bgColor=3D#ffffff>
            <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
            <DIV style=3D"FONT: 10pt arial">
            </DIV></DIV>
            <DIV><FONT face=3DArial size=3D2></FONT><BR></DIV>
            <DIV><FONT face=3DArial size=3D2>ici le texte du corps du message sous format html</FONT> </DIV>
            <STYLE>
            </STYLE>

            </BODY></HTML>

            ------=_NextPart_001_005B_01C9B4B8.51BB95C0--

            ------=_NextPart_000_005A_01C9B4B8.51BB95C0
            Content-Type: application/vnd.ms-powerpoint;
            name="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="
            Content-Transfer-Encoding: base64
            Content-Disposition: attachment;
            filename="=?iso-8859-1?Q?=EAtes-vous_b=EAtes-.pps?="

            0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAABJAAAA4yMAAAAAAAAA
            EAAA5iMAAAEAAAD+////AAAAAOsjAADsIwAA7SMAAO4jAADvIwAA8CMAAPEjAADyIwAA8yMAAPQj
            AAD1IwAA9iMAAPcjAAD4IwAA+SMAAPojAAD7IwAA/CMAAP0jAAD+IwAA/yMAAAAkAAABJAAAAiQA
            AAMkAAAEJAAABSQAAAYkAAAHJAAACCQAAAkkAAAKJAAACyQAAAwkAAANJAAADiQAAA8kAAAQJAAA
            ESQAABIkAAATJAAAFCQAABUkAAAWJAAAFyQAABgkAAAZJAAAGiQAABskAAAcJAAAHSQAAB4kAAAf
            JAAAICQAACEkAAAiJAAAIyQAACQkAAAlJAAAJiQAACckAAAoJAAAKSQAACokAAArJAAALCQAAC0k
            AAAuJAAALyQAADAkAAAxJAAA5CMAAOUjAAD/////////////////////////////////////////
            ////////////////////////////////////////////////////////////////////////////
            //////////////////////////////////////////////////////////////////////////+g
            Rh3weNcAACDFde0w8LELfJORhWAKGKb//9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAE
            AAAAPAAA/+4AJkFkb2JlAGTAAAAAAQMAFQQDBgoNAAAruAAAMKcAAGebAADXZf/bAIQABgQEBAUE
            BgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8f
            HwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
            Hx8fHx8fHx8f/8IAEQgCHALQAwERAAIRAQMRAf/EANEAAAMBAQEBAQAAAAAAAAAAAAABAgMEBwYF
            AQEBAQEBAQEAAAAAAAAAAAAAAQIDBAUGEAACAQQCAgEEAgICAwEAAAAAEQEQIQISIBMiAzBAUGAx
            QSNwgAQUkKAyJBEAAQMBBQYEBAUDBQAAAAAAAAEhMRAgMBFBMkBQUZECImFxgaFgcLES8NHhAzOA
            8ULBUnKSIxIBAAAAAAAAAAAAAAAAAAAAwBMAAwABAwMDBAIDAQEBAQAAAAERIRAxQVFhcSCBkTCh
            scHR4UBQ8PFgcID/2gAMAwEAAhEDEQAAAeT6XNgMYDECKkMCaiguNIvNqLhiAYQqmkZ1nokiopwG
            ACAQAOKl1w0xf1eGgApxQ4oqGIKkVTQONI1xdYqHLUKosipqaizHSNTOsNzHSaRNmejEZak
            G86rHUmyVy1UuduNRWWmZFmVuWuc252TLNTZBNRULNRQsUiaQE25rGiUhVnaBUyscKhSGOUJpAI
            KkctAZ2OW4KIcTojTK5QBiERYqBDgq80QWhiGJGqT2H5PmDPVzqUx0ixVhq51kZ6uVmaTbmRqQTU
            iIqTPSVRNskk0lBLFRSWKzpqQlKQDlYBKAAEipAqsUrFSHFRNFXki40lYRNAibJURiHKygKgCmAo
            nU9f+X5Ai3PUSSuWmVmdY6uVkVlUNRUEkVJIjLQIXPRSxQKiVE1GilztkiptcTTWQlYDhDWhRNOV
            WTQEsUAAQDKCGBUqrSFDMtKhUhAAyoAKgGIoBV6187w56jM7MdXOxEW5WxUNZVKwZ1NmVSQKkZqL
            lUiVVJKyArZsTWZNsCpKgAKJWOBXDhKqCCaBCGSMoAAQFyuFVxFBRMFOJpxNVDEXBVQCGAV6r4vm
            5bQXNTNTWWmaZ3UpjbnWdZ1mSZ1KlIUpGeiWKmWVikClRErFRStRKzRmllKhAVLNVDlIVIVSTQIQ
            wCEFUAQFK4qAZJNIVIZUSMcUFOAoAh16X5vnXK1ztZ

            ------=_NextPart_000_005A_01C9B4B8.51BB95C0--

            Je pense qu'ensuite il te suffit de donner l'extension .eml pour pourvoir lire le mail dans outlook par exemple.

            Pour ta deuxieme question oui c'est tout a fais possible.

            Voila J'espere que ce message va t'aider et que j'ai été suffisament clair.

            Bon courage

            Mikl