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 :

[VBA-Excel] Liste fichier de repertoire selon critere


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut [VBA-Excel] Liste fichier de repertoire selon critere
    Bonjour ,

    Mon projet : j'aimerais creer , dans un userform , une listbox qui se remplit grace a la selection d'un repertoire donné par une combobox . Je m'explique : Je choisis par l'intermediaire d'une combobox , un pays de destination . En dessous j'ai une listbox ( vide ) et a cote un bouton "Lister" . Dans le repertoire ou mon fichier excel est creer , j'ai creer un sous repertoire du même noms que le pays de destination dans lequels se situe plusieurs fichiers de type differents .

    Exemple : J'ai un fichier .doc dans le repertoire France . Lorsque je choisis France dans la combobox , j'aimerais que , lorsque je clique sur le bouton "Lister" , la listbox m'affiche tous les documents situé dans le repertoire France . J'espere etre assez clair .

    Mon probleme : Je sais pas comment faire ^^

    Je vous remercis de votre aide en esperant que ceci soit possible .
    Cordialement .

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Oui c'est possible, mais il faut que tu crée le Userform toi meme, et que tu écrive un peu quelquechose pour que l'on puisse t'aider a résoudre tes problèmes


    Déja pour commencer :

    - créé un formulaire avec une ComboBox (pour choisir) et une ListBox (pour afficher la liste des fichiers)
    - pour afficher dans la ListBox regarde dans l'aide en ligne du coté de la fonction Dir
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    http://ssweb.free.fr/lister.JPG

    Voila ce que j'ai déjà creer . Le bouton "Explorateur" fonctionne bien avec un code que j'ai trouve la n'est pas la question .

    En fait , dans la combobox , je prend des valeurs qui sont situés sur ma feuille excel . J'ai creer le bouton Lister mais je n'ai réellement aucune idée de comment lui signifier que je veux aller lister tous les fichiers du repertoire du nom de ma combobox . J'espere que j'arrive a me faire comprendre

    Merci de bien vouloir m'aider .

    Cordialement.

  4. #4
    Membre régulier
    Avatar de mortalino
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Points : 116
    Points
    116
    Par défaut
    Salut,

    voici une fonction qui liste les fichiers d'un répertoire, regarde bien les commentaires dans la seconde partie du 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    '=================================================
    '           Fonction à ne pas toucher
    '=================================================
     
    Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
    '   GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
    '   sinon retourne la dimension du tableau, donc NB fichiers -1 (tableau commence à l'indice 0)
     
    '   init les résultats
        GetFilesPathFromDirectory = -1
        Erase aRet
        If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
     
    '   formate le chemin
        Dim sFile As String, lIndex As Long
        sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
     
    '   redimentionne après vérif premier fichier
        If sFile <> vbNullString Then
            lIndex = 0
            ReDim aRet(lIndex)
            aRet(lIndex) = sDir & sFile
            sFile = Dir
     
    '       boucle sur tous les fichiers
            Do While sFile <> vbNullString
                lIndex = UBound(aRet) + 1
                ReDim Preserve aRet(lIndex)
                aRet(lIndex) = sDir & sFile
                sFile = Dir
            Loop
     
    '       retour
            GetFilesPathFromDirectory = lIndex
        End If
    End Function
     
     
     
    '=================================================
    '     Code à mettre dans ton bouton Lister
    '=================================================
     
    Private Sub Command1_Click()
        Dim aResultat() As String
        Dim lRet As Long
        Dim i As Long
     
    '                 Change ici la directory, tu auras des Select Case à faire
    '                 Selon le choix dans la ComboBox
        lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat(), "*.*")
        If lRet <> -1 Then
            For i = 0 To lRet
                NomùDeTaListbox.AddItem aResultat(i)
            Next i
        End If
    End Sub
    @++
    ~Mortalino~ "Le mystérieux Chevalier : Provençal, le Gaulois"

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Je te remercis beaucoup , ca marche .

    Mais je suis tellement nul que j'ai encore une ou deux questions ( deux en fait ^^ ) :

    1 - Comment j'ouvre le fichier selectioner dans la listbox avec un bouton "Ouvrir" ? :/

    2 - Comment ne faire apparaitre que le nom du fichier et pas toute son arborescence ( "C:/Mes documents/Blabla/document.txt" par exemple ne doit etre que "Document.txt" ) .

    Encore merci de ton aide et desole d'etre a ce point débutant lol .

    Cordialement.

  6. #6
    Membre régulier
    Avatar de mortalino
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Points : 116
    Points
    116
    Par défaut
    re,

    t'inquiète pas, on débute tous un jour.

    Alors j'espère répondre à tes 2 demandes à la fois, par contre, je n'ai pas testé, tiens moi au courant s'il y a des bugs :

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    '=================================================
    '  Dans les déclarations (tout en haut du code)
    '=================================================
        Dim aResultat() As String
        Dim lRet        As Long
     
     
    '=================================================
    '     Code à mettre dans ton bouton Ouvrir
    '=================================================
     
    Private Sub BoutonOuvrir_Click()
     
    '                 Exemple avec le bloc-note et un fichier texte
    Shell "notepad" & Space(1) & aResultat(NomDeTaListbox.ListIndex), vbMaximizedFocus
    ' pense à remplacer le nom de la listbox ici ^^
     
    End Sub
     
    '=================================================
    '     Code à mettre dans ton bouton Lister
    '=================================================
     
    Private Sub BoutonLister_Click()
        Dim i As Long
     
    '           Change ici le nom de la listbox
        NomDeTaListbox.Clear
     
    '                 Change ici la directory, tu auras des Select Case à faire
    '                 Selon le choix dans la ComboBox
        lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat(), "*.*")
        If lRet <> -1 Then
            For i = 0 To lRet
    '           Change ici le nom de la listbox
                NomDeTaListbox.AddItem GetFileNameFromPath(aResultat(i))
            Next i
        End If
    End Sub
     
     
     
    '=================================================
    '           Fonction à ne pas toucher
    '   et à placer parmis tes codes du UserForm
    '=================================================
     
    Private Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
    '   GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
    '   sinon retourne la dimension du tableau, donc NB fichiers -1 (tableau commence à l'indice 0)
     
    '   init les résultats
        GetFilesPathFromDirectory = -1
        Erase aRet
        If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
     
    '   formate le chemin
        Dim sFile As String, lIndex As Long
        sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
     
    '   redimentionne après vérif premier fichier
        If sFile <> vbNullString Then
            lIndex = 0
            ReDim aRet(lIndex)
            aRet(lIndex) = sDir & sFile
            sFile = Dir
     
    '       boucle sur tous les fichiers
            Do While sFile <> vbNullString
                lIndex = UBound(aRet) + 1
                ReDim Preserve aRet(lIndex)
                aRet(lIndex) = sDir & sFile
                sFile = Dir
            Loop
     
    '       retour
            GetFilesPathFromDirectory = lIndex
        End If
    End Function
     
    Private Function GetFileNameFromPath(ByVal sPath As String)
        GetFileNameFromPath = Right$(sPath, Len(sPath) - InStrRev(sPath, "\"))
    End Function
    Bon courage,

    @++
    ~Mortalino~ "Le mystérieux Chevalier : Provençal, le Gaulois"

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Un tres grand merci a toi !!! Tout marche impecablement ( sauf quand je clique sur ouvrir alors qu'il n'y a pas de selection mais c'est vraiment pas important ) . Je te remercie énormement !!!

    Je vais bien étudier ton code pour essayer de pouvoir le refaire de moi-même sans a copier/coller .

    PS : je vais également chercher comment ouvrir le fichier avec l'application qui lui convient car j'ai des fichiers d'extensions differentes

    Merci encore !!

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    J'ai essaye ca : http://vb.developpez.com/faq/?page=Systeme#shellexecute

    Mais ca ne marche pas il me fait une erreur sur le hwnd :/ J'ai beau cherche sur le forum je ne trouve que la même methode avec Shell mais il est utilise avec un programme donnée . Moi je veux charger l'application en relation avec l'extension du fichier selectionner dans la listbox .

    Desolé encore j'ai pourtant bien bien bien chercher

    PS : j'ai teste ca .. ca peut paraitre abruti comme solution mais bon je débute serieusement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If aResultat(ListBox1.ListIndex) = ".xls" Then
    Shell "excel" & Space(1) & aResultat(ListBox1.ListIndex), vbMaximizedFocus
    End If
    If aResultat(ListBox1.ListIndex) = ".doc" Then
    Shell "word" & Space(1) & aResultat(ListBox1.ListIndex), vbMaximizedFocus
    End If

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        n = "WINWORD.EXE " & NomFichAvéLeChemin
        DemWord = Shell(n, 3)
        AppActivate DemWord
    Faut .EXE

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Heu je comprend pas tout ^^ Excuse moi
    Mon idée des if est bonne ?

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tes ifs, oui, mais la syntaxe pour ouvrir tes fichiers, non
    Pour Word, c'est Winword.exe et pour Excel, c'est Exel.exe

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Hum..

    Dur dur le VB . Un ptit coup de pouce please ? ^^ je sais que je suis chiant mais bon je veux bien faire

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Bon j'ai pas mal avance . Voila le code que j'ai mis :

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    Option Explicit
     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
     
     
    Private Declare Function ShellExecuteForExplore Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, lpParameters As Any, lpDirectory As Any, ByVal nShowCmd As Long) As Long
    Public Enum EShellShowConstants
         zouSW_HIDE = 0
         zouSW_MAXIMIZE = 3
         zouSW_MINIMIZE = 6
         zouSW_SHOWMAXIMIZED = 3
         zouSW_SHOWMINIMIZED = 2
         zouSW_SHOWNORMAL = 1
         zouSW_SHOWNOACTIVATE = 4
         zouSW_SHOWNA = 8
         zouSW_SHOWMINNOACTIVE = 7
         zouSW_SHOWDEFAULT = 10
         zouSW_RESTORE = 9
         zouSW_SHOW = 5
    End Enum
    Private Const ERROR_FILE_NOT_FOUND = 2&
    Private Const ERROR_PATH_NOT_FOUND = 3&
    Private Const ERROR_BAD_FORMAT = 11&
    Private Const SE_ERR_ACCESSDENIED = 5           ' accès interdit
    Private Const SE_ERR_ASSOCINCOMPLETE = 27
    Private Const SE_ERR_DDEBUSY = 30
    Private Const SE_ERR_DDEFAIL = 29
    Private Const SE_ERR_DDETIMEOUT = 28
    Private Const SE_ERR_DLLNOTFOUND = 32
    Private Const SE_ERR_FNF = 2                     '  Fichier non trouvé
    Private Const SE_ERR_NOASSOC = 31
    Private Const SE_ERR_PNF = 3                     '  chemin inconnu
    Private Const SE_ERR_OOM = 8                     '  dépassement de mémoire
    Private Const SE_ERR_SHARE = 26
     
    Public Function ShellEx(ByVal sFile As String, _
            Optional ByVal eShowCmd As EShellShowConstants = zouSW_SHOWDEFAULT, _
            Optional ByVal sParameters As String = "", _
            Optional ByVal sDefaultDir As String = "", _
            Optional sOperation As String = "open", _
            Optional Owner As Long = 0 _
        ) As Boolean
    Dim lR As Long
    Dim lErr As Long, sErr As String
        If (InStr(UCase$(sFile), ".EXE") <> 0) Then
            eShowCmd = 0
        End If
        On Error Resume Next
        If (sParameters = "") And (sDefaultDir = "") Then
            lR = ShellExecuteForExplore(Owner, sOperation, sFile, 0, 0, zouSW_SHOWNORMAL)
        Else
            lR = ShellExecute(Owner, sOperation, sFile, sParameters, sDefaultDir, eShowCmd)
        End If
        'MsgBox lR
        If (lR < 0) Or (lR > 32) Then
            ShellEx = True
        Else
            lErr = vbObjectError + 1048 + lR
            Select Case lR
            Case 0
                lErr = 7: sErr = "Dépassement de mémoire"
            Case ERROR_FILE_NOT_FOUND
                lErr = 53: sErr = "Fichier non trouvé"
            Case ERROR_PATH_NOT_FOUND
                lErr = 76: sErr = "Chemin inconnu"
            Case ERROR_BAD_FORMAT
                sErr = "L'exécutable n'est pas valide ou est corrompu"
            Case SE_ERR_ACCESSDENIED
                lErr = 75: sErr = "Erreur/ accès au répertoire ou au fichier"
            Case SE_ERR_ASSOCINCOMPLETE
                sErr = "Ce type de fichier est sans association valable"
            Case SE_ERR_DDEBUSY
                lErr = 285: sErr = "Le fichier n'a pu être ouvert car en cours d'utilisation. Recommencez plus tard SVP."
            Case SE_ERR_DDEFAIL
                lErr = 285: sErr = "Le fichier n'a pu être ouvert car la transaction DDE a failli.  Recommencez plus tard SVP."
            Case SE_ERR_DDETIMEOUT
                lErr = 286: sErr = "Le fichier n'a pu être ouvert (délai max dépassé).  Recommencez plus tard SVP."
            Case SE_ERR_DLLNOTFOUND
                lErr = 48: sErr = "Impossible de trouver la DLL spécifiée."
            Case SE_ERR_FNF
                lErr = 53: sErr = "Fichier non trouvé"
            Case SE_ERR_NOASSOC
                sErr = "Aucune association définie pour ce type de fichier"
            Case SE_ERR_OOM
                lErr = 7: sErr = "Mémoire épuisée"
            Case SE_ERR_PNF
                lErr = 76: sErr = "Chemin inconnu"
            Case SE_ERR_SHARE
                lErr = 75: sErr = "Violation de partage !."
            Case Else
                sErr = "Une erreur a surgi au moment d'essayer d'ouvrir ou d'éditer le fichier choisi."
            End Select
     
            MsgBox "Error n°" & CStr(lErr) & Chr(13) & sErr & " sur ouverture  : " & Chr(13) & sFile, vbCritical
            ShellEx = False
        End If
     
    End Function
    Dans un module .

    Et pour ouvrir le fichier selectionne dans ma listbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ShellEx("C:\Monrepertoire\" & ComboBox1 & "\" & ListBox1) Then MsgBox "Ouverture OK"
    Tous les fichiers .docs , .txt ou autre s'ouvre parfaitement . Le seul probleme c'est quand j'essaye d'ouvrir un fichier excel . Le fichier ne s'ouvre pas ( ou semble s'ouvrir en fond de tache mais sans s'afficher ) , et me fait plante le fichier excel qui est actuellement lancer .

    Une idée ? Merci d'avance.

    Cordialement.

  14. #14
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ouf !
    Pourquoi faire simple quand on peut faire compliqué ?
    Juste deux petites remarques :
    Quand tu ouvres un fichier Excel en relançant Excel pour l'ouvrir, tu ouvres deux fois Excel (!) Que ça plante... cela ne m'étonne pas des masses. Quand je faisais ça pour des besoins spécifiques, j'avais une appli locale et une appli en réseau. Je pouvais utiliser simultanément les deux. Mais j'ignore ce qu'il se passe dans ton cas.
    Ne peux-tu pas, s'il s'agit de fichiers Excel, les ouvrir simplement avec ton appli ?
    Ensuite, et puisque tu ne fais aucun traitement d'erreur, la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox "Erreur N° " &  Err & " : " & Error(err)
    si elle n'affiche pas exactement tes messages d'erreur, renseigne aussi bien que ta série de select case
    Mais c'est plus court et moins élaboré, j'en conviens
    A+

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    J'ai modifier le code pour les erreurs , c'etait bête mais il fallait y penser .

    Concernant l'erreur des fichiers excels , comment lui dire :

    Si le fichier selectionner dans la listbox est un ".xls" alors -> ouvrir le fichier avec le excel déjà chargé ( Workbooks.Open ... je suppose ) .

    Sinon , utilisé la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellEx("C:\Monrepertoire\" & ComboBox1 & "\" & ListBox1) Then MsgBox "Ouverture OK"

    De plus , les fichiers PDF ne s'ouvre malheuresement pas avec cette methode

    ??

    Encore désolé .

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Up ? J'ai reussis a faire fonctionner les fichiers pdf mais j'ai toujours un plantage avec les fichiers excel . Besoin d'aide please

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton4_Click()
    Dim st As String
    st = ListBox1
    If st = "*.xls" Then
    Workbooks.Open ("C:\Blabla\" & ComboBox1 & "\" & ListBox1)
    Else
    ShellEx ("C:\Blabla\" & ComboBox1 & "\" & ListBox1)
    End If
    End Sub
    Le plus bizzare : Mon userform se plante quand même mais quand je le ferme avec la croix , le fichier excel qui etait appele apparait finalement ! Sauf que quand je ferme celui-ci , le premier excel ouvert n'est plus utilisable ( sablier sur toute la fenetre ) .

    J'ai vraiment besoin d'aide

    PS : lors de l'ouverture de mon fichier excel j'utilise workbook_open avec Application.Visible = False pour cacher excel .

  18. #18
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton4_Click()
    Dim st As String
    st = ListBox1.list(ListBox1.listindex)
    If instr(st, ".xls") <> 0 Then
    Workbooks.Open ("C:\Blabla\" & ComboBox1 & "\" & st)
    Else
    ShellEx ("C:\Blabla\" & ComboBox1 & "\" & ListBox1)
    End If
    End Sub
    Tu dis
    A+

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Points : 29
    Points
    29
    Par défaut
    Niquel ! Merci bien

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

Discussions similaires

  1. VBA/EXCEL/WORD parcourir sous repertoires
    Par jef35jef dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/02/2007, 16h39
  2. [VBA-Excel] Ouverture fichier
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/08/2006, 16h28
  3. [VBA-EXCEL] Liste déroulante
    Par cd090580 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2006, 08h34
  4. [Débutant] VBA Excel : Liste déroulante
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/12/2005, 14h09
  5. [VBA-Excel,VB6,Fichier texte]enregistrer un classeur excel..
    Par Tarul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 13h09

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