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 :

Sélectionner des fichiers contenus dans un dossier [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut Sélectionner des fichiers contenus dans un dossier
    Bonsoir,

    je cherche à ouvrir une sélection de fichier (du type .GetOpenFilename ou .FileDialog(msoFileDialogFolderPicker) mais en verrouillant l'accès au dossier.

    En clair, l'utilisateur ne peut pas "se promener" dans l'arborescence et doit sélectionner un ou plusieurs fichiers dans le dossier qu'on lui propose.

    Bon week-end sous le soleil.
    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, comme point de départ tu pourrais utiliser Liste des fichiers d'un dossier : Win 32/64 Bits, il y en a d'autres via cette liste

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir
    je ne sais pas si on peu bloquer les sub menu des boite de dialogue fichier qui pourrait empecher l'utilisateur de naviguer
    ouvrir la boite sur un dossier precis oui!!

    3 versions la 3eme ne recuperant que le chemin mais n'ouvraont pas de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test1()
     ChDir "C:\Users\polux\Desktop\"
     Application.Dialogs(xlDialogOpen).Show
     End Sub
    S
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ub test2()
    With Application.FileDialog(msoFileDialogOpen)
         .InitialFileName = "C:\Users\polux\Desktop\"
         .Show
         If .SelectedItems.Count > 0 Then Workbooks.Open .SelectedItems(1)
     End With
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test3()
     ChDir "C:\Users\polux\Desktop\"
    fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    If fileToOpen <> False Then
    End If
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Hello Kiki29,

    j'ai déjà utilisé tes liens. Mais la sélection des fichiers se fait à travers une procédure.
    Il ne s'agit pas d'afficher des fichiers, mais de permettre à l'utilisateur de sélectionner n fichiers dans LE DOSSIER qu'on lui permet de voir au travers de la popup.
    (ou alors je n'ai peut être pas compris les liens)

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  5. #5
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Salut Patrick,

    c'est très exactement ce que je veux réaliser. Bloquer le choix du dossier.
    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    j'ai repondu avec l'exemple 3

    mais pour empecher l'utilisateur de naviguer dans la boite de dialogue ca c'est moins sur en attendant ils s'ouvre sur le dossier du CHDIR
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, une recherche ? A toi de voir.

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Si l'on veut à la fois :
    - empêcher l'utilisateur de sélectionner un fichier autre que parmi ceux d'un dossier imposé
    - lui permettre la sélection de plusieurs fichiers
    - l'empêcher d'agir (suppression, renommage, etc ...) sur les fichiers de ce dossier
    je ne connais personnellement qu'une seule méthode sûre (mise à part l'utilisation d'un ocx pour imiter la filelistbox de VB6) --->>
    Utilisation de la fonction Dir de VBA et abondement d'une listbox multiselect.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  9. #9
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Bonjour à tous,

    et tout d'abord merci pour les différentes pistes.
    J'en suis arrivé à la même conclusion que Unparia, il faut alimenter une ListBox...

    La solution (à personnaliser) est là : https://www.developpez.net/forums/d1...tbox-userform/

    Merci à Développez.com et à ses contributeurs

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    ca ne devrais pas etre trop difficile dans un userform surtout si tu veux qu'un typoe de fichier
    attention quand meme les sous dossiers de ce dossier
    si les fichiers de ces sous dossiers doivent etre pris en compte il te faudra une fonction recursive


    il y en a beaucoup de fichier ?
    la selection devra etre multiple ou pas ?
    si la reponse est non et non il y a peut etre un moyen de se passer de userform
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Salut Patrick,

    que de conseils !! Merci

    Le projet est le suivant :
    J'extraie des attributs de blocs (statiques et dynamiques d'AutoCad) au moyen d'Excel qui pilote AutoCad.
    Il est possible qu'un utilisateur veuille compléter une liste existante.
    Dans la cellule A1, il y a le dossier qui contient les fichiers AutoCad.
    Dans une colonne, sur chaque bloc traité, on trouve le nom du fichier dessin

    Donc, en cas de complément, le dossier est pré-défini et il ne faut pas que l'utilisateur se promène dans l'arborescence de dossier pour y sélectionner des fichiers
    Je pensais initialement qu'on pouvait "bloquer" le dossier via les Getopen ou FileMso "classiquement" utilisés.

    Si tu as une autre idée (et je suis sûr que tu as ) n'hésites pas à proposer - A défaut, je passerai par le lien que j'ai mis pour poursuivre le développement.
    Merci de l'intérêt, des conseils et autres tutos dont tu nous "abreuves" à longueur d'année..... A la tienne

    Pour la réponse : La sélection doit (elle peux) être multiple et il est possible qu'il y ait beaucoup de fichiers (donc OUI et OUI)

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re une premiere ebauche de solution bricolée avec un userform
    re

    bonsoir curt
    j'ai bricoler un userform pour qu'il se comporte comme une boite de dialog sauf que tu a que le dossier en parametre

    alors en premier lieu le userform
    1 label,1 textbox,1 listbox,2 boutons(annuler,ouvrir)

    capture

    Nom : Capture.JPG
Affichages : 2009
Taille : 122,0 Ko

    le code dans le userform
    j'ai prevu le cas ou tu fermerais le userform par la croix
    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
    Private Sub CommandButton1_Click()
    With liste
    For i = 0 To .ListCount - 1
    If .Selected(i) Then a = a + 1:  tableau(a) = .List(i)
    Next
    End With
    tableau(0) = Val(a)
    End Sub
    Private Sub CommandButton2_Click()
    tableau(0) = "0"
    End Sub
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' au cas ou tu aurais l'idée de fermer le userform par la croix et non le bouton annuler
    If CloseMode = 0 Then tableau(0) = 0
    End Sub
    maintenant dans un module standard!!la fonction
    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
     
    Public tableau(1000) As Variant
     
    Public Function GetopenFileNameX(dossier As String) As Variant()
        Dim q, t, fich, r
        t = Timer
        tableau(0) = 1000
        UserForm1.Show 0
        DoEvents
        fich = Dir(dossier & "*.*")
        Do: UserForm1.liste.AddItem fich: fich = Dir: Loop While fich <> ""
        UserForm1.doss = dossier
        Do: DoEvents: Loop While tableau(0) = 1000  'on reste bloqué ici tant que x =false le doevents permet de le modifier ailleurs c'est une variable public
        GetopenFileNameX = tableau: Unload UserForm1
    End Function
    la sub de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
        ChDir "C:\Users\polux\Desktop\"'tu choisi le dossier que tu veux 
        listefichier = GetopenFileNameX(CurDir & "\")
        If listefichier(0) = 0 Then
            MsgBox " vous avez Annulé": Exit Sub
        Else
            'si l 'utilisateur a selectioné des fichier
            For i = 1 To listefichier(0)
                Debug.Print CurDir & "\" & listefichier(i)
            Next
        End If
    End Sub
    demonstration
    Nom : demo2.gif
Affichages : 2330
Taille : 543,1 Ko

    fichier en exemple
    en gros tu t'en sert casiment comme le vrai getopenfilname et il a casiment le meme comportement
    sauf que pour verifier si tu a selectionné c'est if listefichier(0)>0

    et pour boucler dessus on commence par le 1
    voila
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Bonjour Patrick,

    t'es un chef.... je n'ai même pas commencé à plancher sur le sujet (il a fait trop beau ce we pour m'y coller) que tu amènes une solution et en prime le fichier qui va bien, servi sur un plateau.

    Bravo et merci.

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    entre temps j'ai meme fait une autre version 3 minutes chrono

    prend un userform apelle le "choixfichier" met lui les memes controls que dans mon exemplaire

    met ce code dans le userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim i, a
    With liste: For i = 0 To .ListCount - 1: a = a + IIf(.selected(i), 1, 0): Next: End With
    Me.Tag = a: If a = 0 Then Me.Tag = 0
    End Sub
    Private Sub CommandButton2_Click()
    Me.Tag = 0
    End Sub
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' au cas ou tu aurais l'idée de fermer le userform par la croix et non le bouton annuler et bien on ne peut pas
    If Me.Tag = "" Then Cancel = True:
    End Sub
    et maintenant la fonction
    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
    Public Type ch
        count As Long
        selected(1000) As String
    End Type
    Private Function GetopenFileNameX(dossier As String) As ch
        Dim q, t, fich, tt As ch
        t = Timer
        fich = Dir(dossier & "*.*")
        Do: DoEvents: choixfichier.liste.AddItem fich: fich = Dir: Loop While fich <> ""
        choixfichier.Show 0
        DoEvents
        choixfichier.doss = dossier
        Do: DoEvents: Loop While choixfichier.Tag = ""  'on reste bloqué ici tant que x =false le doevents permet de le modifier ailleurs c'est une variable public
        tt.count = Val(choixfichier.Tag)
        With choixfichier.liste
            For i = 0 To .ListCount - 1
                If .selected(i) Then a = a + 1: tt.selected(a) = .list(i)
            Next
        End With
        GetopenFileNameX = tt: Unload choixfichier
    End Function
    la sub pour tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
        Dim listefichier As ch
        ChDir "C:\Users\polux\Desktop\"
        listefichier = GetopenFileNameX(CurDir & "\")
        If listefichier.count > 0 Then
            For i = 1 To listefichier.count
                Debug.Print CurDir & "\" & listefichier.selected(i)
            Next
        End If
    End Sub
    autrement dit tu
    listefichier.count qui te donne le nombre de fichier selectionné
    listefichier.selected qui contient les nom des fichiers selectionnés
    allez exemplaire
    je me suis bien amusé
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Membre émérite Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 566
    Points : 2 525
    Points
    2 525
    Par défaut
    Bonjour Patrick,

    y'a pas à dire, t'es un chef... c'est nickel
    Bon du coup, tu m'as foutu la honte en disant que tu t'es bien amusé.....

    Merci du méga coup de main
    Bonne journée

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2024 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut r
    de rien
    tu n' apas a avoir honte
    ma reputation de farfelu n'est plus a faire c'est de notoriété publique que j'aime detourner tout pour tout en informatique
    certains apprecient d'autre moins
    mais c'est ma marque de fabrique je vais pas changer
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Je ne suis pas fan des boucles d'attente avec doEvents.
    Est-ce qu'au niveau utilisation processeur ça se passe bien ?

  18. #18
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    je ne saurais trop approuver cette observation :
    Je ne suis pas fan des boucles d'attente avec doEvents.
    Est-ce qu'au niveau utilisation processeur ça se passe bien
    Imaginons que l'utilisateur ait par exemple "un besoin naturel urgent" à satisfaire et qu'il rencontre un bavard qui l'accapare sur le chemin du retour --->> le processeur a intérêt à être doté d'un bon refroidisseur
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Nom : demo2.gif
Affichages : 2008
Taille : 246,2 Ko
    et 12% sans licecap(l'enregistreur en gif animé)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    et avec sleep le procc se remet a dormir
    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
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Public Type ch
        count As Long
        selected(1000) As String
    End Type
    Private Function GetopenFileNameX(dossier As String) As ch
        Dim q, t, fich, tt As ch
        fich = Dir(dossier & "*.*")
        Do: DoEvents: choixfichier.liste.AddItem fich: fich = Dir: Loop While fich <> ""
        choixfichier.Show 0
        DoEvents
        choixfichier.doss = dossier
        Do: DoEvents: Sleep 100: Loop While choixfichier.Tag = "" 'on reste bloqué ici tant que x =false le doevents permet de le modifier ailleurs c'est une variable public
        tt.count = Val(choixfichier.Tag)
        With choixfichier.liste
            For i = 0 To .ListCount - 1
                If .selected(i) Then a = a + 1: tt.selected(a) = .list(i)
            Next
        End With
        GetopenFileNameX = tt: Unload choixfichier
    End Function
    Sub test()
        Dim listefichier As ch
        ChDir "C:\Users\polux\Desktop\"
        listefichier = GetopenFileNameX(CurDir & "\")
         If listefichier.count > 0 Then
            For i = 1 To listefichier.count
                Debug.Print CurDir & "\" & listefichier.selected(i)
            Next
        Else
        MsgBox "vous avez annulé"
       End If
    End Sub
    Nom : demo2.gif
Affichages : 2050
Taille : 1,05 Mo
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/03/2014, 15h20
  2. Réponses: 21
    Dernier message: 27/04/2013, 17h27
  3. exécuter des jars contenus dans un dossier
    Par Balbuzard dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 05/09/2008, 11h07
  4. Lister des fichiers contenus dans un répertoire
    Par mithrendil dans le forum Langage
    Réponses: 5
    Dernier message: 01/05/2007, 09h27
  5. Réponses: 9
    Dernier message: 27/10/2005, 22h38

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