Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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" & .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 beau retourner les lignes de codes dans tous les sens ça me met des erreurs de références aux plages.

Là je sèche un peu :/

Si vous avez des astuces ... merci d'avance.

A+
 

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+
 

cbea

XLDnaute Impliqué
Re : remplissage d'une listview

Bonjour akibodo, jp14, wilfried,

Voici une autre solution.
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel_v1.zip
    24.1 KB · Affichages: 162

akibodo

XLDnaute Junior
Re : remplissage d'une listview

Re le forum, jp14, wilfried, Cbea,

Merci pour cette dernière réponse, Cbea, je pense que celà vas tout à fais convenir et en plus c'est quand même plus "joli" que mon code de départ

A+
 

Discussions similaires

Réponses
13
Affichages
568
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…