listview qui se déplace

supercrapaud

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit souci avec un formulaire que j'ai créé. En effet, j'ai inséré une listview dans un formulaire multipage. Le problème est que cette listview se promène...

Lorsque je vais une première fois sur la page 2, la listview se retrouve dans le coin haut gauche. Mais lorsque je retourne en page 1 puis reviens en page 2 alors la listview se trouve là où elle devrait être. Comment faire pour qu'elle ne bouge pas ?

Au passage je n'arrive pas à intégrer les données du fichier dans cette listview et ça me rend dingue si vous pouviez aussi m'aider... en attendant au moins pour le prolème n°1 je vous remercie d'avance.
 

Pièces jointes

  • listview.zip
    29.1 KB · Affichages: 78
  • listview.zip
    29.1 KB · Affichages: 77
  • listview.zip
    29.1 KB · Affichages: 85

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : listview qui se déplace

Bonjour supercrapaud

je ne comprends pas pourquoi cette promenade faite par ta Listview
le solution, lui imposer sa position
modifie ton code comme ceci:
Code:
Sub aff()
UserForm5.ListView1.Top = 0
UserForm5.Show
End Sub
à+
Philippe
 

supercrapaud

XLDnaute Occasionnel
Re : listview qui se déplace

Bonjour,

Merci pour la réponse je vais tester ce soir. Si je comprends bien le code lui dit de ne pas aller en haut c'est cela ?

As-tu une idée sur pourquoi elle est vide alors que je n'ai fait que recopier un code et adapter celui-ci ? J'ai fait plein de test mais je suis un peu perdu sur les listviews...

En tout cas merci d'avance.
 

Paritec

XLDnaute Barbatruc
Re : listview qui se déplace

Bonjour Philippe:), supercrapaud
oui ta listview reste vide c'est normal mais pour te modifier la macro il faudrait que tu nous dises un peu ce que tu veux afficher dans ta listview?
Car tu as mis une condition, mais qui ne peut pas fonctionner, alors une petite explication sur ce que tu veux voir dans ta listview et on va te le faire à +
Si tu veux (je pense) afficher que les lignes ou il y a un N en colonne je ne sais plus mais je crois 18 confirme le et on te fait cela
a+
Papou :)

PS: autrement si tu veux toute la liste de ta feuille6
voilà
VB:
Private Sub UserForm_Initialize()
Inilistview
End Sub

Sub Inilistview()
Dim m&, n&, fin&, col&
fin = Sheets("Liste doc émis").Range("i65536").End(xlUp).Row
col = 19
With ListView1
    .ListItems.Clear
    With .ColumnHeaders
        .Clear
        For m = 9 To col
            .Add , , Sheets("Liste doc émis").Cells(1, m), 60
        Next
    End With
    .View = lvwReport
    .FullRowSelect = True
    .Gridlines = True
    For m = 2 To fin
        'x = Sheets("Liste doc émis").Cells(m, 10) = NomSociété
        'y = Sheets("Liste doc émis").Cells(m, 11) = "N"
        'If x And y Then
            .ListItems.Add , , Feuil6.Cells(m, 9)
            For n = 10 To col
                .ListItems(.ListItems.Count).ListSubItems.Add = Feuil6.Cells(m, n)
            Next
        'End If
    Next
End With
End Sub
 
Dernière édition:

supercrapaud

XLDnaute Occasionnel
Re : listview qui se déplace

Bonjour tout le forum ^^.

Merci pour la proposition de code, je vais la tester ce soir et vous donner un retour (mais j'avoue ne pas comprendre grand chose aux listviews).

En fait je veux afficher les données contenues dans les colonnes si une case comprend "N" ou autre mais avec les colonnes qui m'intéressent à cet endroit (H, I, J...) donc tu ne t'es pas trompé Papou. Aurais-tu une idée sur pourquoi ma listview se balade ?

En tout cas merci beaucoup à tous !
 

Paritec

XLDnaute Barbatruc
Re : listview qui se déplace

Bonjour Supercrapaud, philippe:)
non aucune idée surtout que chez moi cela ne se passe pas alors expliques exactement ta manière d'utiliser ton fichier que je puisse tenter de reproduire mais là pour moi tout marche comme il faut.
Pour ta réponse si tu à un N en colonne R tu veux la ligne dans la listview c'est bien cela???
dans l'attente de ta réponse
a+
Papou :)
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : listview qui se déplace

Re Supercrapaud,
voilà pour afficher les lignes seulement si la colonne R possède un N
a+
papou :)

VB:
Private Sub UserForm_Initialize()
    Inilistview
End Sub

Sub Inilistview()
    Dim m&, n&, fin&, col&
    fin = Sheets("Liste doc émis").Range("i65536").End(xlUp).Row
    col = 19
    With ListView1
        .ListItems.Clear
        With .ColumnHeaders
            .Clear
            For m = 9 To 19
                .Add , , Sheets("Liste doc émis").Cells(1, m), 60
            Next
        End With
        .View = lvwReport
        .FullRowSelect = True
        .Gridlines = True
        For m = 2 To fin
            If Feuil6.Cells(m, 18) Like "N" Then
                .ListItems.Add , , Feuil6.Cells(m, 9)
                For n = 10 To col
                    .ListItems(.ListItems.Count).ListSubItems.Add = Feuil6.Cells(m, n)
                Next
            End If
        Next
    End With
End Sub
 

supercrapaud

XLDnaute Occasionnel
Re : listview qui se déplace

Bonjour encore une fois ^^

Ben mon formulaire contient cette listview et doit afficher les données en fonction de critères mais je sais pas pourquoi chez moi elle se balade. Une première fois et quand je change de page pour ensuite revenir tout va bien.

La listview doit afficher les données en fonction du nom d'un fournisseur "a1" par ex. et si la facture n'est pas réglée "N". Dans ce cas elle doit reprendre toutes les données des cellules adjacentes.

Mais je sais pas pourquoi elle se promène et ça fait pareil chez Philippe alors... Il y a peut-etre un truc de cocher chez toi que je n'ai pas mais quoi?

En tout cas merci.
 

Paritec

XLDnaute Barbatruc
Re : listview qui se déplace

Re Philippe:)
mais elle prenait des positions différentes uniquement à l'ouverture? ou sans cesse?
c'est marrant moi je suis aussi sous 2003, et pas le souci et sous 2007 pas le souci non plus va comprendre!!
a+
papou :)
 

fhoest

XLDnaute Accro
Re : listview qui se déplace

Bonjour a tous,
Peut être comme ceci:

Manipulation à faire:
1° effacer la listview
2° reduire taille multipage
3° redessiner la listview sur userform
4° aller sur la multipage1 page 2
5° glisser le controle listview dans le multipage1 page 2
6° reagrandir le multipage1
7° insertion du code du positionnement dans l'evenement_change multipage voir pj
8 test.

Au plaisir..
 

Pièces jointes

  • listview_a_sa_place_fhoest.xls
    84.5 KB · Affichages: 198

YANN-56

XLDnaute Barbatruc
Re : listview qui se déplace

Bonjour à ceux qui passeront par ici,

J'ai eu ce type de souci avec les ListView capricieuses!
Surtout dans le cas d'une création dynamique (Pages + ListView)

Une astuce est de simuler une sélection de tous les onglets.

Code:
For i = 1 To UserForm1.MultiPage1.Pages.Count
   UserForm1.MultiPage1.Value = i - 1
   Next i

Et éventuellement pour revenir à la première page:

Code:
 UserForm1.MultiPage1.Value = 0

Code à mettre dans l'initialisation de l'USF.

Amicalement.

Yann
 

supercrapaud

XLDnaute Occasionnel
Re : listview qui se déplace

Bonjour,

Pardon de ne pas être revenu plus tôt. Effectivement cela marche bien mais j'y vois encore 2 trucs que je ne comprends pas.

1) Pourquoi suis-je obligé de selectionner ma page 2 pour ensuite générer les données dans mes listviews ? si je ne mets pas Me.MultiPage1.Value = 1 avant with listview alors mes listviews se baladent..

2) je n'arrive pas à mettre de scrollbar verticales, est-ce possible quand même ? je ne le vois pas dans les propriétés de mes listviews.

Merci d'avance pour vos réponses.
 

Discussions similaires

Réponses
10
Affichages
372
Réponses
5
Affichages
430

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 764
dernier inscrit
nissassa