remplissage d'une listview

akibodo

XLDnaute Junior
Bonjour à tous,

J'ai réalisé grace à l'aide de ce forum une petite application qui prend forme petit à petit.

J'ai un petit soucis néanmoins concernant le remplissage d'une listeview.

Lorsque je sélectionne par les listbox dans la userform une ligne finissant par 2 (a2 ou b2 etc) pas de soucis, par contre lorsque je veux avoir que la 1ère ligne j'ai un bug. (Excel se bloque et je suit obligé de faire Ctrl+Alt Sup)

DONC ATTENTION AVANT DE TESTER SI VOUS AVEZ DES FICHIER OUVERT !!!

Je met un fichier "apauvri" mais qui garde le code utile à la compréhension de mon soucis.

Merci à tous pour les idées.

A+
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.zip
    24.9 KB · Affichages: 84
  • Nouveau Feuille de calcul Microsoft Excel.zip
    24.9 KB · Affichages: 86
  • Nouveau Feuille de calcul Microsoft Excel.zip
    24.9 KB · Affichages: 83

jp14

XLDnaute Barbatruc
Re : remplissage d'une listview

Bonjour

L'erreur provient de ces lignes

Set Plage = .Range("D2:D" & .Range("B65536").End(xlUp).Row)
Set Plage = Plage.SpecialCells(xlCellTypeVisible)
End With

For Each Cell In Plage
If Not mondico.Exists(Cell.Value) Then mondico.Add Cell.Value, Cell.Value

Next Cell

La fonction "for each cell..." n'aime pas que la plage soit réduite à une cellule.
Pour résoudre le problème il faut vérifier la valeur renvoyée par .Range("B65536").End(xlUp).Row si elle est égale à 2 il faut simplement écrire
mondico.Add .Range("D2").Value, .Range("D2").Value

Exemple
Code:
Private Sub CHOIX1()
.....................
With ThisWorkbook.Worksheets("datas1")

Select case .Range("B65536").End(xlUp).Row
         case 2
         'écrire le code pour une cellule
             mondico.Add .Range("D2").Value, .Range("D2").Value
         
         case else
         
          For Each Cell In Plage
                If Not mondico.Exists(Cell.Value) Then mondico.Add Cell.Value, Cell.Value
    
          Next Cell
end select 
...................
A tester

JP
 
Dernière édition:

akibodo

XLDnaute Junior
Re : remplissage d'une listview

Re,

J'ai essayé ton code mais j'ai une erreur = Référence incorrecte ou non qualifiée sur la ligne :

Code:
Select Case .Range("B65536").End(xlUp).Row

Et c'est le genre de truc que je métrise pas encore ...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 926
Messages
2 093 672
Membres
105 781
dernier inscrit
Dominique G.