Soucis de remplissage Listbox1 vers Listview1

vieuxray -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
<config>Windows10 / Internet Explorer 11.0</Excel 2007>
Bonjour a tous, forum bonjour,

Comme le titre l'indique, je rencontre un soucis de remplissage sur une Listview1 ou il me
reste 5 lignes de test a adapter de la listbox vers la listview.

Voir, svp, le fichier ci-joint ou j'explique le soucis rencontrer.

Merci a vous pour votre aide, bonne journée a vous.

Cdlt vieuxray

https://www.cjoint.com/c/HLAkIdO8Oyz

Une fois le fichier télécharger, au cas ou vous ne pourriez ouvrir le fichier, alors renommer celui-ci en .xlsm

6 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Remplissage listview apres entetes:

            'Remplissage des colonnes 3 et 4 dans la 1ere ligne
            .ListItems.Add , , ""
            .ListItems(1).ListSubItems.Add , , ""
            .ListItems(1).ListSubItems.Add , , "Ville01"
            .ListItems(1).ListSubItems.Add , , 30
            'Remplissage des colonnes 3 et 4 dans la 2eme ligne
            .ListItems.Add , , ""
            .ListItems(2).ListSubItems.Add , , ""
            .ListItems(2).ListSubItems.Add , , "Ville02"
            .ListItems(2).ListSubItems.Add , , 27
            'Remplissage des colonnes 3 et 4 dans la 3eme ligne
            .ListItems.Add , , ""
            .ListItems(3).ListSubItems.Add , , ""
            .ListItems(3).ListSubItems.Add , , "Ville03"
            .ListItems(3).ListSubItems.Add , , 41
    


    Soucis de remplissage Listbox1 vers Listview1

    Comprends pas!!!
    1
  2. vieuxray
     
    Bonsoir f894009,

    Merci pour ta réponse, c'est gentil a toi.

    Dans mon USF j'ai une Listbox avec les lignes de code de tests voir svp ci-dessous.

    Je souhaiterai les adapter dans la Listview

    J'ai commencer le code de la Listview par les entètes I-J-K-L-M-N-O

    et je voudrais afficher le résultat de chaque ligne (If cellule) dans la Listview comme je l'indique ci dessous

    le but étant de supprimer la listbox1

    Merci pour ton aide

    Cdlt vieuxray

     
    If cellule.HasFormula Then .Column(1, j) = "OK"                                                                            'vers colonne (K)
    If IsNumeric(cellule) = True Then .Column(2, j) = "OK"                                                                        'vers colonne (L)
    If cellule <> "" Then .Column(3, j) = "OK"                                                                                                'vers colonne (M)
    If Not IsError(cellule) Then .Column(4, j) = "OK"                                                                                          'vers colonne (N)
    If cellule.Interior.ColorIndex = xlColorIndexNone Then .Column(5, j) = "OK" Else .Column(5, j) = ""                       'vers colonne (O)
    
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Ok, je regarde la chose
      0
  3. vieuxray
     
    Re f894009, merci

    je t'envoi la macro qui est a l'origine

    Afficher directement dans les colonnes de la listview1 le résultat des tests ci dessous sans passer la feuil1

    Merci a toi

    Cdlt vieuxray

    Public Sub Tester_cellules_colonne_E_et_F()
    Dim Feuil1 As Worksheet
          Set Feuil1 = ActiveSheet
                For Each cellule In Feuil1.Range("E3:F50")
                     On Error Resume Next
                     
    If cellule.HasFormula Then Cells(cellule.Row, "K") = cellule.Address                                             'Pas de formule dans la colonne
    If IsNumeric(cellule) = True Then Cells(cellule.Row, "L") = cellule.Address                                     'La cellule suivante n'est pas numérique
    If cellule <> "" Then Cells(cellule.Row, "M") = cellule.Address                                                       'La cellule suivante est vide
    If Not IsError(cellule) Then Cells(cellule.Row, "N") = cellule.Address                                              'Erreur de formule dans la cellule
    If cellule.Interior.ColorIndex = xlColorIndexNone Then Cells(cellule.Row, "O") = cellule.Address       'Vérifiez le fond de la cellule
            Next
    End Sub
    
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Vous ferez les modifs (facile): https://mon-partage.fr/f/6MNP80ap/
      0
  4. vieuxray
     
    salut f894009,

    Merci beaucoup pour les modifications du code, c'est bien ce que je voulais faire pour l'affichage, merci.

    Mais je comprends pas "Vous ferez les modifs (facile)"

    de quel modifs sagit t'il svp ???? pas compris

    Merci a toi

    Vieuray
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vieuxray
     
    Salut f894009,

    Je n'ai pas trop compris le principe de l'affichage et je n'arrives pas a attribuer les bonnes colonnes aux résultats des 5 tests (IF)

    -Premier test if dans colonne (K)
    - Deuxième test if dans colonne (L)
    idem pour les 3 suivants
    Colonne (I et J) doivent rester disponibles.

    Si tu a le temps, je souhaiterai svp et si tu veux bien que tu me commentes le code que tu a réaliser, je t'avoue que je patauge et j'aimerai bien comprendre ton travail.

    Je te remercie et te souhaite la bonne journée.

    Cdlt Ray
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,

      Vous n'avez plus besoin de la listbox???

      code modifie avec ce que voue avez mis post 4

      Public Sub Tester_cellules_colonne_E_et_F()
          Dim TStatus, N, c
          
          Set Feuil1 = ActiveSheet
          '########### Listview1 ########
          With ListView1
              .View = lvwReport
              .Gridlines = True
              .FullRowSelect = True
              .FlatScrollBar = False
              .LabelEdit = lvwManual      'pas de modif
              With .ColumnHeaders
                  Clearlist
                  .Add , , "( I )", 43, lvwColumnLeft
                  .Add , , "( J )", 43, lvwColumnCenter
                  .Add , , "( K )", 43, lvwColumnCenter
                  .Add , , "( L )", 43, lvwColumnCenter
                  .Add , , "( M )", 43, lvwColumnCenter
                  .Add , , "( N )", 43, lvwColumnCenter
                  .Add , , "( O )", 43, lvwColumnCenter
              End With
              'Remplissage de la 1ere colonne (cr?ation de 3 lignes)
              With .ListItems
      '           .Add , , "Vert"
      '           .Add , , "Jaune"
      '           .Add , , "Rouge"
              End With
              N = 0       'pointeur pour listview
              For Each cellule In Feuil1.Range("E3:F50")
               'colonnes listview: I   J   K   L   M   N   O
               '                   0   1   2   3   4   5   6
                  TStatus = Array("", "", "", "", "", "", "")     'table pour rangement adresse cellule ok
                  'TStatus(0) = cellule.Address
                  If cellule.HasFormula Then TStatus(2) = cellule.Address
                  If IsNumeric(cellule) = True Then TStatus(3) = cellule.Address
                  If cellule <> "" Then TStatus(4) = cellule.Address
                  If Not IsError(cellule) Then TStatus(5) = cellule.Address
                  If cellule.Interior.ColorIndex = xlColorIndexNone Then TStatus(6) = cellule.Address
                  TStatus(0) = "Ah"       'a adapter pour votre cas colonne I
                  TStatus(1) = "Que"      'a adapter pour votre cas colonne J
                  .ListItems.Add , , TStatus(0)
                  N = N + 1
                  For c = 2 To 7
                      .ListItems(N).ListSubItems.Add , , TStatus(c - 1)       'remplissage des colonnes
                  Next c
              Next
          End With
      End Sub
      
      0
  7. vieuxray
     
    Bonjour f894009,

    Merci pour ta réponse et pour le code modifier et commenter, maintenant je comprends beaucoup mieux ainsi.

    Donc du coup maintenant, c'est bon et fonctionne comme souhaiter
    et je peux modifier.

    Merci beaucoup pour ton aide, que les dieux informatiques soient toujours avec toi pour cette nouvelle année 2019.

    Je te souhaite de très bonnes de fin d'année et un réveillon festif en famille.

    Encore merci a toi, pour ton aide et ton savoir partager.

    Bien cordialement Raymond bye bye
    Meilleurs Vœux a toi et tes proches.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour et bonnes fetes
      0