[excel]Question sur double clic listbox

Bonjour,

J'ai une listbox1 affichant la liste des fichiers .xlsx d'un repertoire

Dim Racine As String
Dim Fs As Object, Dossier As Object, Fichier As Object

Racine = "C:\Users\Cedric\Desktop\old"

Set Fs = CreateObject("Scripting.FileSystemObject")
Set Dossier = Fs.getfolder(Racine)

For Each Fichier In Dossier.Files
    Me.ListBox1.AddItem Fichier.Name
Next


J'ai une listbox 2 ou j'aimerai afficher le fichier selectionné par double clic voir simple clic
les fichiers à afficher ont tous 8 colonnes identiques et 47 lignes

je presume que je dois mettre ceci dans userform_initialize()
ListBox2.ColumnCount = 8
ListBox2.ColumnWidths = "100;200;65;50;50;70;70;70"


Apres j'avoue que je ne sais pas trop quoi faire
comment dois je proceder ?

Remarque vous avez peut être une meilleure façon de faire

merci d'avance

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour

    avec le double click

    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
              fichier = ListBox1.List(ListBox1.ListIndex)

    te donne le nom du fichier voulu
    tu l'ouvres et tu remplis ta listbox2 avec tes Ncolonnes et P lignes...
    1. Je ne connais pas le vba, alors j'essai des trucs depuis tout à l'heure mais je pense que je m'éloigne un peu

      Dim Fichier As String
                Fichier = ListBox1.List(ListBox1.ListIndex)
                ListBox2.ColumnCount = 8
                ListBox2.ColumnWidths = "100;200;65;50;50;70;70;70"
                ListBox2.List() = Range("C:\Users\Cedric\Desktop\old\Fichier!A1:H47").Value


      Pour être honnête je ne sais pas du tout comment faire
      J'ai pour habitude de chercher sur le net des façons de faire ,j'essaie des trucs et parfois ça passe mais la ....
      ça passe pas

      Si vous voulez bien pourriez vous me donnez la solution et si possible m'expliquer sommairement le pourquoi du comment afin que je ne reste pas bête tout le temps ?

      merci beaucoup de votre patiente
      1. Contributeur
        re,

        déjà lorsque tu recherches les fichiers tu écris
        chdir racine  
        sur la ligne d'avant: cela simplifie les syntaxes (plus besoin de rappeler le répertoire)

        une fois le fichier sélectionné, il faut l'ouvrir mais on va d'abord figer l'écran pour éviter sson apparition (écran qui saute, perte énorme de temps)
        application.screnupdating=false 
        workbooks. open fichier 

        et là on remplit la listbox2....excises moi je dois partir mais peut-être quelqu'un d'autre si je ne reviens pas avant lundi

        Michel
        1. merci michel_m je vais continuer avec ceci

          merci pour ton aide et bon week end
          1. c'est énervant, cela dois vous sembler élémentaire mais je ne comprends pas.
            Désolé de vous solliciter une nouvelle fois.
            Si jamais quelqu'un peut m'aider avant le retour de michel_m ce n'est pas de refus.

            Merci pour votre patiente.
            1. Contributeur
              coucou,

              donc tu as ouvert ton fichier

              remplissage de la listbox2
              workbooks. open fichier 
                 Tablo=sheets(nomdetafeuille).range("A1:H47").value
                 Listbox2.column()=tablo
              activeworkbook.close

              1. Arf je suis vraiment pas doué pour tout ça
                Je n'y arrive pas du tout.
                Je vais peut être abusé un peu mais serait il possible que quelqu'un jette un oeil à mon problème ? Seul je n'y arrive pas.

                https://www.cjoint.com/?0Llm2zmPL3a

                C'est dans le userform Usf_Archive
                Le dossier dans lequel je vais piocher les feuilles à afficher sera sur le bureau (dossier : old )

                Ce dossier contiendras des feuilles exactement comme la feuille du classeur "Facture"

                Navré de vous ennuyer encore avec mes questions
                Merci