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

VB.NET Discussion :

Listviews et Excel


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut Listviews et Excel
    Bonjour,

    Voilà, j' aimerais avoir des renseignements concernants le remplisage de plusieurs ListView avec des données Excel et les comparer.
    Fichiers à utiliser :

    - 1 Fichier Excel / 1 Feuille ( Fichier_Fournisseur.xlsx avec plusieurs colonnes )
    - 1 Fichier Excel / 1 Feuille ( Fichier_Client.xlsx avec plusieurs colonnes )

    Sur ma Form, je posséde :
    - 2 boutons ( Ouvrir Fichier Fournisseur / Ouvrir Fichier Client )
    - 3 ListViews ( ListView_Fournisseur / ListView_Client / ListView_Produits )

    Voici mes problémes :

    - Comment ouvrir mon fichier Excel ( Fournisseur ) afin de récupérer les données de 3colonnes ( ex : Colonnes : A D et E ) les afficher dans la ListView à 3 colonnes également.

    - Faire de même pour le deuxiéme fichier Excel ( Client ) et ma deuxiéme ListView

    Et comparer ces mêmes ListView dans ma 3éme ( Poduits ) de façon à n' avoir dans cette ListView que les données égales à 0 ( zéro ).

    Exemple :

    ListView_Fournisseur
    Réf. : | Quantité : | Etat :
    AAA | 15 | Disponible
    BBB | 20 | Disponible
    CCC | 0 | Non Disponible
    DDD | 15 | Disponible
    EEE | 0 | Non Disponible

    ListView_Client
    Réf.: | Quantité :
    AAA | 25
    BBB | 26
    CCC | 5
    DDD | 10
    EEE | 3

    Résultats souhaités dans la 3éme ListView
    Réf.: | Quantité : | Etat :
    CCC | 0 | Non disponible
    EEE | 0 | Non Disponible

    Voilà, j' ai essayer d' être le plus clair possible.
    Merci de m' aider car j' ai beau avoir parcouru Google etc mais je n' ai pas trouvé grand chose qui corresponde ( j' ai même essayer les réponses anglaises de Google, c' est vous dire )

    Merci encore de me mettre sur la voie

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 237
    Par défaut
    Salut Bass_77139,

    Pour récupérer les données d'Excel, voici un lien qui doit te permettre de savoir comment exploiter un fichier Excel à partir de VB.NET : ouvrir un classeur, accéder à une feuille du classeur, lire les données dans les cellules, ...

    Ensuite, pour remplir tes 3 listview (je pars du fait que tu sais comment gérer un listview), tu boucle sur ta première feuille Client :

    tu mets chaque ligne dans la LV Client.
    et si la ligne en cours contient une quantité à zéro, tu la mets dans LV Produits.

    Tu fais la même chose pour ta feuille fournisseur (dans une deuxième boucle).

    J'espère t'avoir donné une piste claire pour ta question.

    N'hésites pas si tu as d'autres questions.

    Bon courage

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Bonjour,

    Merci de ton intérêt pour mon probléme.

    Excuse moi mais je ne vois pas ton lien dans ta réponse.
    Ensuite j' aurais voulu connaitre ton opinion sur ma façon à l' heure actuelle pour remplir mes ListViews via des fichiers :

    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
    Open_Fichier_Client.ShowDialog()
            Lbl_Emplacement_02.Text = Open_Fichier_Client.FileName
     
            Dim TAB(2) As String
            Dim LVI As New ListViewItem
            Dim sr As StreamReader
            Dim Ligne As String
     
            sr = New StreamReader(Lbl_Emplacement_02.Text)
            Ligne = ""
     
            Ligne = sr.ReadLine()
     
            While Not Ligne Is Nothing
     
                LVI = New ListViewItem
     
                TAB = Ligne.Split(";")
                LVI.Text = TAB(0).ToString
                LVI.SubItems.Add(1).Text = TAB(1).ToString
                LVI.SubItems.Add(2).Text = TAB(2).ToString
     
                List_Client.Items.Add(LVI)
                TAB = Nothing
     
                Ligne = sr.ReadLine()
            End While
            sr.Close()
    Cela est le code que j' utilise et qui fonctionne mais je ne sais pas pourquoi mais je ne pense pas que ce soit la meilleure solution, en effet je trouve que ça rame pour le remplissage.

    Ensuite ma réelle idée ( c' est comme ça que je vois la chose ) pour comparer les ListViews : Fournisseur et Client est :
    - Je remplis ma ListView "Fournisseur" qui contient 3 colonnes ( Référence / Quantité / Etat )
    - Je remplis ma ListView "Client" qui contient 1 ou 2 colonnes ( Référence / Quantité ( Quantité étant facultatif ))
    - En cliquant sur un CommandButton, je lance la comparaison dans une 3éme ListView "Produits Non disponible"
    C' est à dire que je compare les Références de la ListView "Client" avec les références de la ListView "Fournisseur" (sachant que celle-ci contient plus de référence que la "Client") quand une référence identique existe dans les 2 ListViews, on s' interresse alors à la quantité de cette référence du "Fournisseur", si la quantité fournie par "Fournisseur" est inférieure à 5 ou égale à 0, on rajoute la Référence en défaut ou qui va l' être dans la ListView "Produit".

    Voila, encore merci pour ton intérêt.

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 237
    Par défaut
    J'ai oublié de mettre le lien, le voici :
    http://support.microsoft.com/kb/302094

    pour ton code je le trouve bon, je ne vois pas pourquoi ça rame !
    cela pourrait dépendre de la volumétrie de ton fichier en entrée.

    pour le remplissage de la 3ème listview, je n'ai pas bien assimilé le principe.
    en fait, si j'ai bien compris, tu ne dois alimenter cette listview que par les références communes non disponibles. dans ce cas, la solution que tu as proposée est bonne.

    Bon courage pour la suite.

Discussions similaires

  1. Pb d'ajout dans un listview VBA EXCEL
    Par JRRENNES dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/08/2014, 13h02
  2. Réponses: 0
    Dernier message: 27/12/2010, 12h16
  3. Listview vers Excel manque une colonne
    Par petchy dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 01/06/2010, 15h54
  4. [VBA-Excel] Tri de listview ne fonctionne pas avec des nombres à virgule
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2006, 15h32
  5. [VBA-Excel]Problème pour remplir une listview
    Par Le Djé dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/01/2006, 16h27

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