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 :

remplir une listview


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut remplir une listview
    bonjour,
    J'ai reçu un vieux fichier excel que je dois faire fonctionner sur différent post. Il utilisait de base MSHFlexGrid dans les userform mais ce n'est plus compaptible, c'est pourquoi je me tourne vers listview.

    La fonction AddError ajoute les erreurs s'il y en a dans mon USF sous forme d'une liste. Je n'arrive pas a "convertir" cette fonction mshflexgrid en listview. je suis vraiment nul en VBA...

    voici 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
    Private Function AddError(ByRef Data As Range, ByVal kind As String, source As String)
        NbErrors = NbErrors + 1
        With UserForm1.ListView1
            If Not (.Rows = 2 And Trim(.TextMatrix(1, 0)) = "") Then .AddItem "", 1
            .TextMatrix(1, 0) = CStr(Format(CDate(Now()), "dd/mm/yy HH:nn"))
            .TextMatrix(1, 1) = source
            .TextMatrix(1, 2) = kind
            .TextMatrix(1, 3) = Data.Parent.Name
            .TextMatrix(1, 4) = Data.Address
            .TextMatrix(1, 5) = Data.Value
            If .Rows Mod 2 = 1 Then
                .row = 1
                For i = 0 To .Cols - 1
                    .col = i
                    .CellBackColor = &HC0FFC0
                Next
            End If
        End With
    End Function

    et voici le USF en question :

    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
    Private Sub UserForm_Initialize()
        '----- 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", 120, lvwColumnLeft
                .Add , , "Procédure", 120, lvwColumnCenter
                .Add , , "Attendu", 120, lvwColumnCenter
                .Add , , "Feuille", 120, lvwColumnCenter
                .Add , , "Cellule", 120, lvwColumnCenter
                .Add , , "Donnée Fournie", 158, lvwColumnCenter
            End With
            .Gridlines = True           ' affichage de lignes
        End With
        '--------------------------------------------------
        'Spécifie l'affichage en mode "Détails"
        ListView1.View = lvwReport
    End Sub

    Merci d'avance pour votre soutien

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par harissa55 Voir le message
    bonjour,
    J'ai reçu un vieux fichier excel que je dois faire fonctionner sur différent post. Il utilisait de base MSHFlexGrid dans les userform mais ce n'est plus compaptible, c'est pourquoi je me tourne vers listview.

    La fonction AddError ajoute les erreurs s'il y en a dans mon USF sous forme d'une liste. Je n'arrive pas a "convertir" cette fonction mshflexgrid en listview. je suis vraiment nul en VBA...
    Si tu parles de VBA, tu devrais plutôt t'orienter vers le Forum Excel et son sous-forum VBA Excel. D'un autre côté, je serais quand même bien curieux de savoir pourquoi (message d'erreur ou autre) MSHFlexGrid n'est plus compatible avec Excel, parce que, à ma connaissance, il ne l'a jamais été. Et puis là, quoi qu'il en soit, tu t'aventures en terrain glissant. Ni MSHFlexGrid , ni ListView, ne sont compatibles avec des Office, Oui des Office, à 64 bits. Si un seul de tes utilisateurs a un Office à 64 bits, oublie VBA et utilises VB.net. Les puristes n'aiment pas vraiment cela, et je prêche un peu beaucoup dans le désert; vais VB.net, ou même C# sont une meilleure solution pour automatiser Office dans un environnement hétéroclite d'Office (32 bits, 64 bits, Office 2013 et Office 2010, ou n'importe quel autre mélange de version.)

    P.S. À partir d'Office 2010, Office est disponible en version 32 bits et en version 64 bits. Office 2007 et avant sont toujours des versions 32 bits. Mais, pour rester en VBA, tu dois vérifier pour tous les Office depuis 2010, incluant Office 365. Et même avant de continuer ta conversion. Parce que contrôles compatibles ou pas, il y a aussi des appels à l'API Windows qu'il faut réécrire en VBA. Pour VB.net, c'est différent.

    Va voir là (pour VBA), au cas où.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    bonjour,

    J'utilise VBA car je dois être sous excel et que le fichier de base est un excel. Je ne peux pas utiliser mshflexgrid car lorsque j'essaye d'en mettre une dans mon usf j'ai le message d'erreur "le sujet n'est pas approuvé pour l'action spécifiée" alors que l'OCX se trouve bien dans mon sysWOW64 et que j'ai enregistré le fichier en utilisant bien l'invité de commande. si vous avez une solution a ce problème ce serait d'une grande aide.

    Mon office et ceux de tout mes collègues sont en 32 bit

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Microsoft avait instauré un système de license double pour certains ActiveX de VB6. Pour avoir le droit de les utiliser avec Office, il fallait que VB6 soit installé sur la machine. Autrement, ils n'étaient utilisables que sous la forme d'objets intégrés à un programme compilé. C'est très possible que le contrôle ait fonctionné à l'origine parce VB6 était déjà sur la machine.

    Ceci étant dit, tu peux utiliser Excel avec VB.net. Cela se fait, du moins visuellement, d'une manière analogue au pilotage d'Excel à partir de, disons, Word.

    j'ai aussi posé une question sur le forum Excel. Quelqu'un ayant encore VB6 sur sa machine prévoit tester certaines choses. Tu peux aller voir là s'il a déjà procédé.

    Et puis, je suis porté à penser qu'un modérateur devrait déplacer la conversation dans le forum Excel bientôt. La redirection va être automatique et tu devrais pouvoir poursuivre dans le même fil.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Clementmarcotte,

    Merci de ton aide, tu as raison mon problème n'est pas sur le bon forum. comment puis-je le déplacer?
    merci d'avoir posé la question de ton coté. tout fonctionne parfaitement sur le poste de mon voisin les grid apparaissent bien dans ces userform. si on trouve un moyen de faire fonctionner mshflexgrid tout rentre dans l'ordre...
    Sinon a tu des pistes pour convertir la syntaxe de mshflexgrid en listview?

    Merci a toi

Discussions similaires

  1. Comment remplir une ListView?
    Par melleb dans le forum C#
    Réponses: 1
    Dernier message: 16/05/2007, 17h26
  2. Remplir une ListView avec le contenu d'une requête
    Par callo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/10/2006, 08h44
  3. Débutant : remplir une listview
    Par Alouka dans le forum MFC
    Réponses: 1
    Dernier message: 11/10/2006, 12h11
  4. [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
  5. Remplir une ListView avec une BD
    Par manikou dans le forum MFC
    Réponses: 1
    Dernier message: 17/05/2005, 09h48

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