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 :

descendre d'une cellule sur filtre


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut descendre d'une cellule sur filtre
    Bonjour,

    Voici mon code VBA pour filtrer et ensuite descendre d'une cellule mais comme vous pouvez le voir cela descend sur une cellule non visible et non sur la première cellule visible.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Columns("AL:AL").Select
        Selection.AutoFilter
        ActiveSheet.Range("$AL$1:$AL$1073").AutoFilter Field:=1, Operator:= _
            xlFilterValues, Criteria2:=Array(0, "12/31/2016")
        ActiveCell.Offset(1, 0).Selec
    t

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Quelle est la raison de vouloir descendre à la première cellule visible ?
    Ça pourrait influer sur la solution.

  3. #3
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Offset(0, 7).Select
        ActiveCell.FormulaR1C1 = "=RC[-35]*(RC[-2]/RC[2])"
        DernLigne = Range("C" & Rows.Count).End(xlUp).Row
        Range("AT2").AutoFill Destination:=Range("AT2:AT" & DernLigne)
        ActiveCell.Offset(0, 1).Select
        ActiveCell.FormulaR1C1 = "=RC[-36]-RC[-1]"
        DernLigne = Range("C" & Rows.Count).End(xlUp).Row
        Range("AU2").AutoFill Destination:=Range("AU2:AU" & DernLigne)
    voici la suite de mon code !!

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Y a-t-il une raison pourquoi tu inscris les formules seulement sur les cellules visibles ?
    Ne pourrais-tu pas inscrire les formules avant de filtrer ?

    Quoiqu'il en soit, tu peux faire une boucle en vérifiant si la ligne est "hidden" ou non.

    Voici un exemple simple qui met une formule d'addition seulement sur les cellules visibles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Dim I As Long, Ligne As Long, nbLignes As Long
     
        nbLignes = Cells(Rows.Count, "A").End(xlUp).Row  'nombre de lignes de la plage
        For I = 2 To nbLignes
            If Rows(I).Hidden = False Then  'vérifie si la ligne n'est pas masquée par le filtre
                Ligne = I
                Exit For
            End If
        Next
     
        'inscrit la formule sur les cellules visibles
        Range("D2:D" & nbLignes).SpecialCells(xlCellTypeVisible).Formula = "=SUM(B" & Ligne & ":C" & Ligne & ")"

  5. #5
    Membre confirmé
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2015
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 123
    Par défaut
    Merci de votre temps.
    C'est ce que j'ai fait d'abord les calculs puis le filtre merci de votre temps encore une fois.

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

Discussions similaires

  1. Reference a une cellule sur VBA
    Par nicoroth dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/07/2007, 12h39
  2. [TStringGrid] Une cellule sur plusieurs lignes.
    Par Caine dans le forum Delphi
    Réponses: 15
    Dernier message: 28/03/2007, 12h53
  3. [VBA-E]acceder A Une Cellule Sur Une Feuille
    Par CIBOOX dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 17/01/2007, 08h28
  4. selection d'une cellule sur une certaine ligne
    Par florent149 dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 20/07/2006, 17h37
  5. VB6 - Definir le format d une cellule sur Excel
    Par Zaal dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/07/2006, 14h22

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