XL 2016 VBA : Listview et combobox désespérantes sur Userform2

bugg

XLDnaute Junior
Bonjour,
sur mon userform2 (en multipage), page1, je n'arrive pas à alimenter quoi que ce soit ....
pouvez-vous m'aider et surtout m'expliquer...
merci d'avance !
 

Pièces jointes

  • exemple pour test1 (5).xlsm
    101.7 KB · Affichages: 21

ChTi160

XLDnaute Barbatruc
Bonsoir
Bonsoir le fil,le Forum

peux tu m'expliquer ce que tu veux obtenir avec ce que tu as dans le Ficher Joint
tu as mis
ThisWorkbook.Sheets("WsBD")
tu aurais donc une feuille nommée "WsBD" qui n'existe pas dans ton Fichier?
ou alors "WsBD" est une variable , mais a quelle feuille fait elle référence ?
j'ai du changer la Procédure
VB:
Private Sub UserForm_Initialize()
Call CmbFil
Call ListviewFil
End Sub
j'ai effacé celle présente dans le Fichier et ensuite refait Userform dans liste VBE(Gauche) puis Intialize dans la Liste de Droite sinon Bug Lol
dans l'attente
jean marie
 

ChTi160

XLDnaute Barbatruc
que veut dire ThisWorkbook.Sheets("WsBD")
ca ne veut rien dire WsBD(BASE DE DONNEES°
mais si tu as
VB:
Dim WsBD as Worksheet
Set WsBD =Worksheets("BASE DE DONNEES")
ca pourrait dire quelque chose !
n'oublie pas de répondre a mes questions !
jean marie
 

bugg

XLDnaute Junior
je joins une copie ecran de mes feuilles
et pour la procédure, j'ai essayé de refaire ce que j'ai vu dans une vidéo,
je suis ignare dans ce domaine, donc va falloir être patient, et c'est pour celà que je demandais qu'on m'explique en même temps si possible
merci d'avance pour votre patience
 

Pièces jointes

  • feuilles.png
    feuilles.png
    121.5 KB · Affichages: 20

ChTi160

XLDnaute Barbatruc
je vois que je suis présent sur le fil que tu cite , donc on devrait pouvoir avancer Lol
sache que les Images ne Nous aident pas !
bien que j'ai cru comprendre
que tu as pour une même feuille :
le "CodeName" soit "WsBD"
et le Nom de la feuille --> "BASE DE DONNEES"
un fichier avec des explications c'est beaucoup mieux
dans l'attente
jean marie
 
Dernière édition:

bugg

XLDnaute Junior
en essayant d'adapter le modèle
j'ai toujours mes listes vides, je ne comprends pas...
je mets le code :

VB:
Option Explicit
Dim Tableau As Variant
Dim LstVqItem As MSComctlLib.ListItem


Sub reliste()
    Dim I&, colonne&, critere As Boolean, D As Date, critere2 As Boolean
    With ListView1
        .ListItems.Clear
              For I = 2 To UBound(Tableau)
            Select Case True
             Select Case True
            Case ComboBox2 <> "" And ComboBox3 = "": critere = Left(Tableau(I, 3), Len(ComboBox2)) = ComboBox2
            Case ComboBox2 = "" And ComboBox3 <> "" And Len(ComboBox3) = 10 And IsDate(ComboBox3): critere = CDate(Tableau(I, 9)) = CDate(ComboBox3)
            Case ComboBox2 <> "" And ComboBox3 <> "" And Len(ComboBox3) = 10 And IsDate(ComboBox3): critere = Left(Tableau(I, 3), Len(ComboBox2)) = ComboBox2: critere2 = CDate(Tableau(I, 9)) = CDate(ComboBox3): critere = critere And critere2
            Case ComboBox2 = "" And ComboBox3 = "": critere = True
            End Select
            If critere Then
                Set LstVqItem = .ListItems.Add(Text:=Tableau(I, 1))
                For colonne = 2 To UBound(Tableau, 2)
                    With LstVqItem
                        .ListSubItems.Add , , Tableau(I, colonne)
                    End With
                Next
            End If
        Next
    End With

End Sub

Private Sub Frame7_Click()

End Sub

Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)

End Sub

Private Sub ComboBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger): KeyAscii = Asc(UCase(Chr(KeyAscii))): End Sub
Private Sub ComboBox2_Change(): reliste: End Sub
Private Sub ComboBox3_Change(): reliste: End Sub




Private Sub UserForm2_Initialize()
   Dim I&, colonne&
    With UserForm2.ListView1
        .ListItems.Clear
        With .ColumnHeaders
            .Clear
            .Add Text:="Dossier°", Width:=40, Alignment:=lvwColumnLeft
            .Add Text:="Date", Width:=40, Alignment:=fmAlignmentLeft
            .Add Text:="Agent", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Civilité", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Nom", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Prénom", Width:=80, Alignment:=fmAlignmentLeft
            .Add Text:="Société", Width:=80, Alignment:=fmAlignmentLeft
            .Add Text:="Adresse", Width:=60, Alignment:=lvwColumnLeft
            .Add Text:="Téléphone Fixe", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Portable", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Mail", Width:=80, Alignment:=lvwColumnLeft
            .Add Text:="Raison de l'appel(Liste)", Width:=80, Alignment:=fmAlignmentLeft
            .Add Text:="Autre raison d'appel(hors-liste)", Width:=80, Alignment:=fmAlignmentLeft
            
        End With
        .Gridlines = True: .BorderStyle = ccFixedSingle: .FullRowSelect = True: .View = lvwReport
        Tableau = Sheets("BASE DE DONNEES").Range("A1", Cells(Rows.Count, "P").End(xlUp)).Value

        For I = 2 To UBound(Tableau)
            Set LstVqItem = .ListItems.Add(Text:=Tableau(I, 1))
            With LstVqItem
                For colonne = 2 To UBound(Tableau, 2)
                    .ListSubItems.Add , , Tableau(I, colonne)
                Next
            End With
        Next
    End With
End Sub

Private Sub MultiPage1_Change()

End Sub
 

Discussions similaires

Réponses
19
Affichages
990
Réponses
2
Affichages
264

Statistiques des forums

Discussions
312 023
Messages
2 084 715
Membres
102 637
dernier inscrit
TOTO33000