IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

pb avec la propriété columnhead [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut pb avec la propriété columnhead
    Bonjour,

    Je n'arrive pas à mettre un entête à ma list box. J'utilise bien la propriété columnhead de la listbox et je mets bien aussi columnhead à true

    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Private Sub C1_Click() ' Combobox Entité de l'userform dans recherche
        Dim i&, Fin&, y&, a&, AA
        Application.ScreenUpdating = False
        If C1 = "" Then a1 = "*" Else a1 = C1
        If C2 = "" Then a2 = "*" Else a2 = C2
        If C3 = "" Then a3 = "*" Else a3 = C3
        If C4 = "" Then a4 = "*" Else a4 = C4
        If C5 = "" Then a5 = "*" Else a5 = C5
     
        If a1 = "*" And a2 = "*" And a3 = "*" And a4 = "*" And a5 = "*" Then L1.Clear: Exit Sub
        L1.Clear
        With Feuil1
            y = 2
            Fin = .Range("A" & Rows.Count).End(xlUp).Row
            AA = .Range("A2:AH" & Fin)
        End With
        For i = 1 To UBound(AA)
                If AA(i, 1) Like a1 And AA(i, 2) Like a2 And AA(i, 3) Like a3 And AA(i, 4) Like a4 And AA(i, 5) Like a5 Then AA(i, 22) = "OUI": y = y + 1
        Next i
        If y = 1 Then Exit Sub
        If y = 2 Then
        ReDim bb(1, 2)
            For i = 1 To UBound(AA)
                If AA(i, 22) = "oui" Then
                    For a = 1 To 22
                        bb(1, a) = AA(i, a)
                    Next a
                  GoTo 1
                End If
    1        Next i
        Else
            ReDim bb(y - 1, UBound(AA, 2) - 1)
            y = 1
            For i = 1 To UBound(AA)
                If AA(i, 22) = "OUI" Then
                    For a = 1 To 22
                        bb(y, a) = AA(i, a)
                    Next a
                    y = y + 1
                End If
            Next i
       End If
        With L1
            .ColumnCount = 5 ' nombre de colonnes dans la list box L1
            .ColumnWidths = "60;300;100;300;60" 'largeur des champs dans la listbox L1
            .List = bb
            .ColumnHeaders.Clear
     
                'Ajoute 5 colonnes en spécifiant le nom de l'entête
                'et la largeur des colonnes
                .Add , , "RÉFÉRENCE", 60
                .Add , , "N° PR", 300
                .Add , , "EXPIRATION PR", 100
                .Add , , "FICHE CONSIGNE", 300
                .Add , , "EXPIRATION FICHE CONSIGNE", 60
     
        End With
    End Sub
    Ca plante a la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    With L1
            .ColumnCount = 5 ' nombre de colonnes dans la list box L1
            .ColumnWidths = "60;300;100;300;60" 'largeur des champs dans la listbox L1
            .List = bb
            .ColumnHeaders.Clear
     
                'Ajoute 5 colonnes en spécifiant le nom de l'entête
                'et la largeur des colonnes
                .Add , , "RÉFÉRENCE", 60
                .Add , , "N° PR", 300
                .Add , , "EXPIRATION PR", 100
                .Add , , "FICHE CONSIGNE", 300
                .Add , , "EXPIRATION FICHE CONSIGNE", 60
     
        End With
    End Sub
    Merci d'avance de votre aide
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ca plante a la ligne:
    De mémoire, je ne connais pas de propriété ColumnHeaders

    La propriété ColumnHeads des contrôles ListBox et ComboBox ne fonctionne que si l'on utilise la propriété RowSource et donc est inopérante avec la méthode AddItem et la propriété List.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Merci Philippe pour votre aide,

    j'ai donc ajouté ceci mais le problème maintenant c'est que ma list n'affiche pas le contenu des entêtes mais affiche colonne A, colonne B, colonne C... etc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With L1
            .ColumnCount = 5 ' nombre de colonnes dans la list box L1
            .ColumnWidths = "60;300;100;300;60" 'largeur des champs dans la listbox L1
            .List = bb
            .RowSource = "Feuil1!A1:F1"
        End With
    comment faire en sorte que l'entête du listbox soit les contenu dans la première ligne des colonne A à F?

    Merci d'avance
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La propriété RowSource doit faire référence à la partie données, c'est à dire la ligne qui se trouve juste après la ligne des étiquettes de colonnes et la dernière cellule de la dernière colonne (soit par exemple Feuil1!$A$2:$G$100) et ne pas oublier de mettre la propriété ColumnHeads à True.
    Ne pas utiliser la propriété List (ligne 4 de ta procédure).
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Merci encore Philippe.

    j'ai compris maintenant le principe du columhead! Merci à toi.

    Par contre maintenant lorsque je mets dans mon combobox par exemple une référence, avant, il me retournait dans la listebox uniquement la ligne avec la référence et les données associées à cette référence.

    or maintenant, il retourne toute la table sans filtrer (le filtre étant les valeurs choisies dans mes combobox). Je suis désolé mais j'aimerai bien comprendre une fois pour toute le fonctionnement de ces listbox. J'ai regardé le tuto qu'il y a sur le forum mais le termes utilisés font que je ne comprends rien et je pense qu'il n'est plus à jour d'ailleurs. Enfin bref:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub C1_Click() ' Combobox Entité de l'userform dans recherche
        Dim i&, Fin&, y&, a&, AA 'déjà pourquoi le & a la fin de chaque variable?
        Application.ScreenUpdating = False
     
     
        If C1 = "" Then a1 = "*" Else a1 = C1 'j'ai appelé mes combobox C1, C2 .. etc. a1 ="*" veut dire alors a1 peut prendre toutes les valeurs?
        If C2 = "" Then a2 = "*" Else a2 = C2
        If C3 = "" Then a3 = "*" Else a3 = C3
        If C4 = "" Then a4 = "*" Else a4 = C4
        If C5 = "" Then a5 = "*" Else a5 = C5
     
        If a1 = "*" And a2 = "*" And a3 = "*" And a4 = "*" And a5 = "*" Then L1.Clear: Exit Sub 'on sort de la sub mais dans tous les cas à la ligne suivante on supprimer L1 quand même donc à quoi sert ce test?
        L1.Clear
        With Feuil1 'si je change le nom de Feuil1 en nom de ma feuil, il me dit que la variable n'est pas définie or c'est pas une variable, c'est une feuille...
            y = 2
            Fin = .Range("A" & Rows.Count).End(xlUp).Row
            AA = .Range("A2:AH" & Fin) ' que représente AA ici??
        End With
        For i = 1 To UBound(AA) 'le Ubound sert à faire des variable tableau si j'ai bien compris mais je ne vois pas concrétement à quoi correspond cette "variable tableau"...
                If AA(i, 1) Like a1 And AA(i, 2) Like a2 And AA(i, 3) Like a3 And AA(i, 4) Like a4 And AA(i, 5) Like a5 Then AA(i, 22) = "OUI": y = y + 1 ' c'est à partir de la que mon code n'a plus aucun sens pour moi...
        Next i
        If y = 1 Then Exit Sub
        If y = 2 Then
        ReDim bb(1, 2)
            For i = 1 To UBound(AA)
                If AA(i, 22) = "oui" Then
                    For a = 1 To 22
                        bb(1, a) = AA(i, a)
                    Next a
                  GoTo 1
                End If
    1        Next i
        Else
            ReDim bb(y - 1, UBound(AA, 2) - 1) 'je ne comprends pas a quoi sert la redimension... que fait concrétement excel lorsque j'emploi l'instruction Redim (pardonnez moi si c'est pas une instruction..)
            y = 1
            For i = 1 To UBound(AA)
                If AA(i, 22) = "OUI" Then
                    For a = 1 To 22
                        bb(y, a) = AA(i, a)
                    Next a
                    y = y + 1
                End If
            Next i
       End If
       With L1
            .ColumnCount = 5 ' nombre de colonnes dans la list box L1
            .ColumnWidths = "60;300;100;250;60" 'largeur des champs dans la listbox L1
            '.List = bb
            .RowSource = "Appro!A2:E" & Fin
        End With
        End Sub
    Merci d'avance et pardonnez ma médiocrité niveau Vba!
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Les contrôles ListBox et ComboBox peuvent-être alimentés par
    1. La propriété RowSource (faire référence aux données)
    2. La propriété List()
    3. La méthode AddItem et List(Row, Column) s'il y a plus de 1 colonne avec un maximum de 10 (de mémoire)

    Si l'on veut avoir un titre on utilise la propriété ColumnHeads avec comme valeur True et cette propriété ne fonctionne qu'avec RowSource
    La liste alimentée par RowSource affiche toutes les lignes référencées.
    Si l'on souhaite n'afficher que certaines lignes répondant à des critères, soit on exporte vers une autre plage et on fait référence à cette plage avec RowSource, soit on utilise la méthode AddItem ou la propriété List.
    Si tu veux absolument afficher des éléments dans une liste selon des critères et avoir les étiquettes de colonnes comme titre, il faut soit créer des contrôles Label avec comme propriété Caption le nom de l'étiquette de colonne soit passer par un contrôle ListView. A lire Utiliser le contrôle ListView en VBA Excel

    Pour revenir à RowSource et AddItem et comparer les deux cas, je place en fichier à télécharger un exemple de deux ListBox présents sur un même UserForm et alimentés l'un par la méthode AddItem nommé "InitlstWithAddItem" et l'autre par la propriété RowSource nommé "lstWithRowSource".

    Ces deux procédures sont appelées par la procédure événementielle UserForm_Initialize, précédée par deux lignes de déclaration d'une constante et d'une variable de portabilité module située en tête de celui-ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
    Const SheetName As String = "db" ' Nom de la feuille
    Dim rng As Range
    Private Sub UserForm_Initialize()
     Set rng = ActiveSheet.Range("A1").CurrentRegion ' Attribution de la référence
     ' Redimensionnement de la plage des données pour ne pas prendre en compte la première ligne
     With rng:  Set rng = .Offset(1).Resize(.Rows.Count - 1): End With
     Me.Caption = "Démonstration de ListBox avec propriété RowSource et méthode AddItem"
     ' Initialisation des contrôles
     InitLabel ' Initialisatation des contrôles Label
     InitlstWithRowSource ' Initialisation lstWithRowSource
     InitlstWithAddItem "F", "Sexe" ' Initialisation lstWithAddItem avec filtre sur les donées du groupe Z
    End Sub
    Procédure d'initialisation du contrôle ListBox nommé lstWithRowSource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub InitlstWithRowSource()
     With Me.lstWithRowSource
     .RowSource = rng.Worksheet.Name & "!" & rng.Address ' "Feuil1!A2:J50" ' Plage de données (ne pas inclure les étiquettes de colonnes
     .ColumnHeads = True ' Indique que l'on souhaite avoir les étiquettes de colonnes
     .ColumnCount = 6 ' Nombre de colonnes à afficher
     .ColumnWidths = "0;50;60;35;35;50" ' Largeur des colonnes à affciher si 0 = invisible
     End With
    End Sub
    Procédure d'initialisation du contrôle ListBox nommé lstWithAddItem
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub InitlstWithAddItem(Filtre As String, LabelName As String)
     ' Arguments
     ' Filtre : la chaîne critère
     ' LabelName : Nom de l'étiquette de colonne à filtrer
     ' Initialisation de la liste des données de ListBox dépendant de l'argument Filtre
     Dim r As Long, c As Integer, NumCol As Integer
     With rng: NumCol = Application.Match(LabelName, .Parent.Range(.Cells(0, 1), .Cells(0, .Columns.Count)), 0): End With
     With lstWithAddItem
     .ColumnCount = 6: .ColumnWidths = "20;50;60;13;13;15"
      For r = 1 To rng.Rows.Count
       If rng.Cells(r, NumCol) = Filtre Then
          .AddItem r ' 1er élément de la liste = N° de ligne de la liste des données
          For c = 2 To rng.Columns.Count
          .List(.ListCount - 1, c - 1) = rng.Cells(r, c)
          Next c
       End If
      Next r
     End With
    End Sub
    Quelques contrôles TextBox sont alimentés lorsque l'on sélectionne une ligne (événement click) de l'un des deux ListBox
    Code des deux procédures événementielles NomDuListBox_Click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub lstWithRowSource_Click()
     With Me.lstWithRowSource
      AfficheTextBox .ListIndex + 2 ' N° d'index + 2 parce-que le premier élément est 0 et la ligne des données commence à 2
      Me.lstWithAddItem.ListIndex = -1
     End With
    End Sub
     
    Private Sub lstWithAddItem_Click()
     AfficheTextBox Me.lstWithAddItem.Value
     Me.lstWithRowSource.ListIndex = -1
    End Sub
    Code de la procédure d'affichage des TextBox nommée AfficheTextBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub AfficheTextBox(Ligne)
     Dim c As Byte
     For c = 1 To 5
      Me.Controls("TextBox" & c) = rng.Cells(Ligne, c + 1)
     Next c
    End Sub
    Procédure d'initialisation des contrôles Label
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub InitLabel()
     Dim c As Byte
     For c = 1 To 5: Me.Controls("Label" & c).Caption = rng.Cells(0, c + 1): Next
    End Sub
    Fichiers attachés Fichiers attachés
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Merci beaucoup Philippe! A méditer la dessus je vais m'employer! Très bonne explications !


    Oui j'ai pensé à mettre des label avec des noms tout simplement d'ailleurs c'est ce que j'ai fait mais la c'était surtout pour apprendre et savoir si il était possible de le faire par une autre méthode. Je vais regarder ceci à tête reposée et je reviendrai vers vous. Je vais donc essayer toutes ces méthodes différentes.

    merci beaucoup
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  8. #8
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Bonjour,

    SI j'ai bien compris, je peux donc filtrer selon mes valeurs de combobox grâce à la methode additems en faisant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub C5_Change() ' Combobox Référence de l'userform dans recherche
       If  C5.value <> "" then
           C5.Value = Filtre ' ou C5.Value = LabelName vu que le Match se fait sur le LabelName?
    End if
    End Sub
    ensuite je mets ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub InitlstWithAddItem(Filtre As String, LabelName As String)
     ' Arguments
     ' Filtre : la chaîne critère
     ' LabelName : Nom de l'étiquette de colonne à filtrer
     ' Initialisation de la liste des données de ListBox dépendant de l'argument Filtre
     Dim r As Long, c As Integer, NumCol As Integer
     With rng: NumCol = Application.Match(LabelName, .Parent.Range(.Cells(0, 1), .Cells(0, .Columns.Count)), 0): End With
     With lstWithAddItem
     .ColumnCount = 6: .ColumnWidths = "20;50;60;13;13;15"
      For r = 1 To rng.Rows.Count
       If rng.Cells(r, NumCol) = Filtre Then
          .AddItem r ' 1er élément de la liste = N° de ligne de la liste des données
          For c = 2 To rng.Columns.Count
          .List(.ListCount - 1, c - 1) = rng.Cells(r, c)
          Next c
       End If
      Next r
     End With
    End Sub
    biensur il me faut la procédure d'initialization du USF:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Const SheetName As String = "db" ' Nom de la feuille
    Dim rng As Range
    Private Sub UserForm_Initialize()
     Set rng = ActiveSheet.Range("A1").CurrentRegion ' Attribution de la référence
     ' Redimensionnement de la plage des données pour ne pas prendre en compte la première ligne
     With rng:  Set rng = .Offset(1).Resize(.Rows.Count - 1): End With
     Me.Caption = "RECHERCHE PR"
     ' Initialisation des contrôles
     InitLabel ' Initialisatation des contrôles Label
     InitlstWithAddItem "F", "Sexe" 
    End Sub
    par contre a l'avant dernière ligne du code de l'initialisation, je dois mettre du coup Filtre?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InitlstWithAddItem "Filtre", ""
    et la je pourrais filtrer les valeurs renvoyées de ma listbox sur la valeur de mes combobox?

    J'ai vraiment du mal encore avec ces listbox . Enfait je n'arrive pas trop a traduire le language VBA du listbox en language Francais...

    En tout cas Merci beaucoup Philippe j'ai quand même une meilleure approche du problème je pense avec tous ces exemples.
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La meilleure manière de comprendre comment se comporte une procédure est l'utilisation des fonctionnalités du débogueur à l'aide des touches F8, F9, F5
    A lire Le débogage sous Visual Basic 6
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petit pépin avec la propriété Checked dans un TMainMenu
    Par Ithomir dans le forum Composants VCL
    Réponses: 1
    Dernier message: 24/02/2006, 10h00
  2. [Delphi 6] Problème avec la propriété Text d'un composant
    Par bionoir dans le forum Composants VCL
    Réponses: 4
    Dernier message: 08/12/2005, 11h23
  3. [C#] Erreur avec la propriété FilterRow du DataView
    Par chddv dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/10/2005, 18h41
  4. Recuperation de la taille d'une image avec la propriété SRC
    Par CDRIK dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/10/2004, 03h05
  5. [C#] Bug (?) avec la propriété TransparencyKey de la Form
    Par FrigoAcide dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/05/2004, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo