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 :

Filtrer dans un listview / 1 critére de combox / supprimer tous les filtres Modifier le message [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut Filtrer dans un listview / 1 critére de combox / supprimer tous les filtres Modifier le message
    Bonjour le Forum

    1 - Dans mon USF GENERAL je cherche à filtrer ma listview via le combobox COMMENTAIRESPOSTES (colonne 41 de la BDD)

    J'ai ce code là mais où placer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       .AutoFilterMode = False
        .Range("$A$1:$BB$3000").AutoFilter Field:=41, Criteria1:=COMMENTAIRESPOSTES.Value


    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
    Sub FILTRER_Click()
     
    Dim BaseDD() As Variant, L As Long, c As Long, LstIt As MSComctlLib.ListItem
    With ThisWorkbook.Worksheets("BASE EMPLOI")
        L = .[A60000].End(xlUp).Row
       c = .[A1].End(xlToRight).Column
       BaseDD = .[A1].Resize(L, c).Value: End With
    With LISTBDD
       With .ColumnHeaders: .Clear
          For c = 1 To UBound(BaseDD, 2)
             .Add Text:=BaseDD(1, c), Width:=100: Next c: End With
       .ListItems.Clear
       For L = 2 To UBound(BaseDD, 1)
          Set LstIt = .ListItems.Add(Text:=BaseDD(L, 1))
             For c = 2 To UBound(BaseDD, 2)
                LstIt.ListSubItems.Add Text:=CStr(BaseDD(L, c)): Next c, L: End With
     
    End Sub
    2 - De plus, quand je fait ce filtre, la bdd reste filtrer (filtres auto) mm quand j’initialise la listview
    --> Du coup, il faudrait faire sauter les filtres dans l'onglet BASE EMPLOI

    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
    Sub IniListview()
     
    Dim BaseDD() As Variant, L As Long, c As Long, LstIt As MSComctlLib.ListItem
    With ThisWorkbook.Worksheets("BASE EMPLOI")
       L = .[A60000].End(xlUp).Row
       c = .[A1].End(xlToRight).Column
       BaseDD = .[A1].Resize(L, c).Value: End With
     
    With LISTBDD
       With .ColumnHeaders: .Clear
          For c = 1 To UBound(BaseDD, 2)
             .Add Text:=BaseDD(1, c), Width:=100: Next c: End With
       .ListItems.Clear
       For L = 2 To UBound(BaseDD, 1)
          Set LstIt = .ListItems.Add(Text:=BaseDD(L, 1))
             For c = 2 To UBound(BaseDD, 2)
                LstIt.ListSubItems.Add Text:=CStr(BaseDD(L, c)): Next c, L: End With
     
     
    End Sub
    qqn aurait une idée ?

    Bonne journée
    Seb
    Fichiers attachés Fichiers attachés

  2. #2
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    j'avance avec


    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
    Sub FILTRER_Click()
     
    Dim BaseDD() As Variant, L As Long, c As Long, critere As String, LstIt As MSComctlLib.ListItem
    With ThisWorkbook.Worksheets("BASE EMPLOI")
     
       L = .[A60000].End(xlUp).Row
       c = .[A1].End(xlToRight).Column
       BaseDD = .[A1].Resize(L, c).Value: End With
     
    With LISTBDD
    critere = COMMENTAIRESPOSTES.Value
       With .ColumnHeaders: .Clear
          For c = 1 To UBound(BaseDD, 2) And LstItem.SubItems(39) = critere
             .Add Text:=BaseDD(1, c), Width:=100: Next c: End With
       .ListItems.Clear
       For L = 2 To UBound(BaseDD, 1)
          Set LstIt = .ListItems.Add(Text:=BaseDD(L, 1))
             For c = 2 To UBound(BaseDD, 2)
                LstIt.ListSubItems.Add Text:=CStr(BaseDD(L, c)): Next c, L: End With
     
    End Sub
    mais erreur 424 - Objet requis sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      For c = 1 To UBound(BaseDD, 2) And LstItem.SubItems(39) = critere

  3. #3
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    Merci !

    J'avance avec ce code
    Merci à ChTi160 de XLdownload

    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
    Sub FILTRER_Click()
     
    Dim BaseDD() As Variant, L As Long, c As Long, critere As String, LstIt As MSComctlLib.ListItem
    With ThisWorkbook.Worksheets("BASE EMPLOI")
       critere = COMMENTAIRESPOSTES.Value
       L = .[A60000].End(xlUp).Row
       c = .[A1].End(xlToRight).Column
       BaseDD = .[A1].Resize(L, c).Value: End With
     
    With LISTBDD
        With .ColumnHeaders: .Clear
            For ligne = 2 To UBound(BaseDD, 1)
                If BaseDD(ligne, 39) = critere Then
                    Set LstVIt = .ListItems.Add(Text:=BaseDD(ligne, 1))
                    With LstVIt
                        For Colonne = 2 To UBound(BaseDD, 2)
                        .ListSubItem.Add , , BaseDD(ligne, Colonne)
                        Next 'Colonne
                    End With
                End If
            Next
        End With
    End With
    End Sub

    Par contre, j'ai un blocage sur

    Erreur de Compilation - Membre de méthode ou de données introuvable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set LstVIt = .ListItems.Add(Text:=BaseDD(ligne, 1))
     
    sur
    .listItems

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par GADENSEB Voir le message
    Merci !

    J'avance avec ce code
    Merci à ChTi160 de XLdownload
    Restes-y, s'ils sont si bons que cela:

    Et puis, si tu as envie de brailler que je ne fais rien pour toit, c'est que j'ai un Excel à 64 bits sans ListView. Et puis les gens qui braillent parce qu'ils n'ont pas de réponse puis qui reviennent nous narguer avec la réponse d'un autre, c'est un manque de classe de la pire espèce. J'espère juste que tu vas t'excuser d'avoir insulté des répondeurs bénévoles, qui t'aident du mieux qu'ils le peuvent à obtenir gratuitement une application.

    Aucun participant bénévole n'est obligé de te répondre ni de savoir la réponse. Si tu veux absolument un résultat et pouvoir te plaindre, engage quelqu'un et paye.

  5. #5
    Membre actif Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Points : 285
    Points
    285
    Par défaut
    ihihhi
    je fais tout le monde !!!
    Et tout les forums !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/03/2014, 12h14
  2. Supprimer tous les blancs dans une chaine de caractères
    Par joel74 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 20/02/2014, 16h19
  3. [AC-2003] Filtrer dans formulaire avec plusieurs critères
    Par nounous54 dans le forum IHM
    Réponses: 5
    Dernier message: 09/01/2014, 11h46
  4. Réponses: 7
    Dernier message: 08/01/2013, 18h33
  5. Supprimer TOUS les raccourcis clavier dans Visual Studio
    Par jo_dalton dans le forum Visual Studio Team System
    Réponses: 5
    Dernier message: 05/08/2008, 00h01

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