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 :

Importation donnée excel sur Listview


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut Importation donnée excel sur Listview
    Bonjour a tous,

    Voila j'ai un listview dans un userform et dans un AUTRE fichier excel j'ai ma base de données.
    Mon souhait serait d'importer les données de la base de données dans le listview !!

    Quelqu'un peut-il me renseigner, sur le code VB à mettre en place ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu lu cela : Utiliser le contrôle ListView en VBA Excel

    Philippe

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut
    Bonjour philippe,

    Oui j'ai lu ce document, mais étant débutant sur VB, j'ai reussi a mettre en place l'affichage des données dans ma listview.

    Maintenant, je n'arrive pas a lui dire que par exemple, la colonne A de ma listview correspond à la colonne A dans mon autre fichier excel.

    Dans l'exemple qui est donné, il me met a chaque fois Riri, fifi et loulou... Je pense qu'il fodrait mettre à la place de "Riri", quelque chose comme :

    C:/ le chemin de mon fichier [A1:A] nan ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Remplissage de la 1ere colonne (création de 3 lignes)
            With .ListItems
               .Add , , "Riri"
               .Add , , "Fifi"
               .Add , , "Loulou"
    Voila le code que j'ai esquissé, mais il me met une erreur 1004 ...

    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
    Private Sub UserForm_Initialize()
     
    Dim nomclasseursource As String
    Dim nomfeuillesource As String
    Dim chemindacces As String
    Dim donnee1 As String
    Dim donnee2 As String
    Dim i As Long
     
    nomclasseursource = "BaseDeDonnées"
    nomfeuillesource = "Base de données" 'Le nom de la feuille contenant les données dans le classeur source.
    chemindacces = "K:\Repertoire Commun\Arnaud\Excel\VBA\BaseDeDonnées.xls"
     
        '----- remplissage ListView------------------------
        With ListView1
            'Définit le nombre de colonnes et Entêtes
            With .ColumnHeaders
                'Supprime les anciens entêtes
                .Clear
                'Ajoute 3 colonnes en spécifiant le nom de l'entête
                'et la largeur des colonnes
                .Add , , "Date du jour", 70
                .Add , , "Service", 50
                .Add , , "Initiale", 40
                .Add , , "Dépt", 30
                .Add , , "Type", 50
                .Add , , "Date de réclamation", 80
                .Add , , "Code client", 50
                .Add , , "Nom Interlocuteur", 80
                .Add , , "N°Circuit", 50
                .Add , , "Nature", 50
                .Add , , "Obser Nature", 90
                .Add , , "Action menée", 50
                .Add , , "Obser Action", 90
     
            End With
     
        End With
       '-----------------------------------------------------
     
       '---Copie des données---------------------------------
     
    Application.ScreenUpdating = False 'permet de ne pas afficher les différentes manipulations réalisées par la macro. On ne voit donc pas le fichier source s'ouvrir. Le rendu est plus propre.
     
    Me.ListView1.ListItems.Clear
    Application.Workbooks.Open chemindacces
     
    Do Until Application.Workbooks(nomclasseursource).Worksheets(nomfeuillesource).Cells(i, 1) = ""
     
    donnee1 = Application.Workbooks(nomclasseursource).Worksheets(nomfeuillesource).Cells(i, 1)
    donnee2 = Application.Workbooks(nomclasseursource).Worksheets(nomfeuillesource).Cells(i, 2)
     
    Me.ListView1.ListItems.Add donnee1
    Me.ListView1.ListItems(i - 1, 1) = donnee2
     
    i = i + 1
    Loop
     
    Application.Workbooks(nomclasseursource).Close
    Application.ScreenUpdating = True 'On rétablit les mises à jour de l'affichage.
     
     
     
        '--------------------------------------------------
     
        'Spécifie l'affichage en mode "Détails"
        ListView1.View = lvwReport
     
        'Affichage d'un quadrillage dans la ListView
        ListView1.Gridlines = True
     
        'Surligne la ligne entière selectionnée
        ListView1.FullRowSelect = True
     
     
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 99
    Par défaut
    Je pense que ton problème viens d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.ListView1.ListItems.Add donnee1
    Me.ListView1.ListItems(i - 1, 1) = donnee2
    Je ferais ça comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Me.ListView1
    .ListItems.Add , , donnee1
    .ListItems(.ListItems.Count).ListSubItems.Add , , donnee2
    End with
    J'ai pas essayé, mais tiens moi au courant si ça fonctionne.

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Par défaut
    Effectivement le problème venait de la !!

    Merci beaucoup de votre aide

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

Discussions similaires

  1. Importation de données Excel sur Autocad
    Par camillenathan dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/02/2015, 10h19
  2. [Débutant] Importer des données Excel sur une interface Visual Studio
    Par Nicoow44 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/07/2014, 11h48
  3. Aide sur importation données Excel dans Access Via Visual Basic 6.0
    Par moirs555 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 19/08/2011, 09h02
  4. Réponses: 6
    Dernier message: 17/02/2009, 10h16
  5. Réponses: 15
    Dernier message: 15/05/2008, 20h53

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