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 :

Comment descendre d'une ligne dans un champ avec filtre automatique


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Points : 39
    Points
    39
    Par défaut Comment descendre d'une ligne dans un champ avec filtre automatique
    Dans le champ d'un filtre automatique, la commande .offset(1,0) déplace d'une ligne, même si cette ligne est masquée.
    Comment descendre à la prochaine ligne affichée?

    Merci

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    je ne sais pas si c'est ce que tu cherches mais voici un code (à adapter) qui permet à partir d'un textbox de remplir une listbox avec un filtre

    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
    Private Sub TextBoxproduitcherche_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim cel As Range, ERREUR As Integer
    Application.ScreenUpdating = False
    With Sheets("references")
        If .AutoFilterMode Then
         .AutoFilterMode = False
        End If
        ERREUR = .Range("b2").End(xlDown).Offset(0, 0).Row
        .Range("b2").AutoFilter
        .Range("b2").AutoFilter Field:=2, Criteria1:="*" & TextBoxproduitcherche & "*"
        Set PLAGE = .Range("b2", .Range("b2").End(xlDown))
        Set PLAGE = PLAGE.Cells.SpecialCells(xlCellTypeVisible)
     
        If PLAGE.Count > ERREUR Then
        If .AutoFilterMode Then
         .AutoFilterMode = False
        MsgBox "AUCUN CRITERE NE CORRESPOND A LA RECHERCHE"
        Exit Sub
        End If
        End If
        With REFCHOISIE
        .Clear
        For Each cel In PLAGE
          .AddItem cel(1, 0)
          .Column(1, .ListCount - 1) = cel(1, 1)
          .Column(2, .ListCount - 1) = VBA.Format(cel(1, 2), "#,##0.00 €")
          .Column(3, .ListCount - 1) = VBA.Format(cel(1, 3), "#0.00 %")
          .Column(4, .ListCount - 1) = cel(1, 5)
          .Column(5, .ListCount - 1) = VBA.Format(cel(1, 6), "#0.00")
          .Column(6, .ListCount - 1) = VBA.Format(cel(1, 8), "# ##0.00 €")
          .Column(7, .ListCount - 1) = VBA.Format(cel(1, 9), "##0")
          .BoundColumn = 1
        Next cel
     
        End With
    Selection.AutoFilter
    .Select
    If .AutoFilterMode Then
        .AutoFilterMode = False
        End If
    End With
    Application.ScreenUpdating = True
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Bonsoir,

    Pas clair ta question mais peut être une siolution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Do
        Selection.Offset(1, 0).Select
        Loop Until Selection.EntireRow.Hidden = False
    Cordialement

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/09/2014, 18h57
  2. Réponses: 3
    Dernier message: 23/01/2014, 10h38
  3. [AC-2003] Extraction d'une ligne dans un champ texte multiligne
    Par LHT dans le forum Access
    Réponses: 2
    Dernier message: 05/05/2011, 10h13
  4. comment accéder a une ligne dans DBGrid
    Par Invité(e) dans le forum C++Builder
    Réponses: 1
    Dernier message: 03/05/2008, 11h48
  5. Ajouter une ligne dans un champs.
    Par Philippe.Girard1 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 02/08/2007, 16h46

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