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 :

Ajouter une ligne d'un fichier excel dans un Tableau pour ensuite le mettre dans une ListBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut Ajouter une ligne d'un fichier excel dans un Tableau pour ensuite le mettre dans une ListBox
    Bonjour à tous,

    je souhaite copier des lignes Excel dans un tableau (Array) pour ensuite ajouter ces lignes dans une listBox depuis le tableau.

    Ma première question est : Est ce que cette façon de faire est correct ?

    Ma seconde question est : Est ce qu'il est possible de copier que certaines colonnes ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonsoir,


    Exemple où on prend les colonnes 1,2,4,7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Initialize()
      Set f = Sheets("bd")
      TblBD = f.Range("A2:G" & f.[A65000].End(xlUp).Row).Value
      Dim TblRes: ReDim TblRes(1 To UBound(TblBD), 1 To 4)
      col = 0
      For Each k In Array(1, 2, 4, 7)   ' colonnes à récupérer    col = col + 1
        For i = 1 To UBound(TblBD): TblRes(i, col) = TblBD(i, k): Next i
      Next k
      Me.ListBox1.List = TblRes
    End Sub
    On peut également mettre toutes les colonnes dans le ListBox et cacher des colonnes en mettant 0 comme largeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
      Set f = Sheets("bd")
      Set Rng = f.Range("A2:G" & f.[A65000].End(xlUp).Row)
      Me.ListBox1.ColumnCount = 7
      Me.ListBox1.ColumnWidths = "50;50;0;40;0;0;60"
      Me.ListBox1.List = Rng.Value
    End Sub
    Le calcul des largeurs de colonnes de la ListBox peut être automatisé.

    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
    Dim NbCol
    Private Sub UserForm_Initialize()
      NbCol = [tableau1].Columns.Count
      Me.ListBox1.ColumnCount = NbCol
      tblBD = [tableau1]
      For i = 1 To UBound(tblBD): tblBD(i, 4) = Format(tblBD(i, 4), "0000.00"): Next i
      Me.ListBox1.List = tblBD
      EnteteListBox
    End Sub
     
    Sub EnteteListBox()
      x = Me.ListBox1.Left + 8
      Y = Me.ListBox1.Top - 12
      For i = 1 To NbCol
        Set lab = Me.Controls.Add("Forms.Label.1")
        lab.Caption = [tableau1].Offset(-1).Cells(1, i)
        lab.Top = Y
        lab.Left = x
        x = x + [tableau1].Columns(i).Width * 1.1
        temp = temp & [tableau1].Columns(i).Width * 1.1 & ";"
      Next
      temp = Left(temp, Len(temp) - 1)
      Me.ListBox1.ColumnWidths = temp
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2016] VBA-comparer deux fichiers excel sur une colonne et ajouter des lignes d'un fichier vers l'autre
    Par axel.loiacono dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/05/2017, 16h26
  2. Réponses: 6
    Dernier message: 26/10/2016, 15h49
  3. Afficher le contenu d'un fichier excel dans un listbox
    Par Daemon80 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/06/2012, 13h38
  4. Réponses: 3
    Dernier message: 05/05/2011, 12h41
  5. Réponses: 2
    Dernier message: 05/09/2006, 21h14

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