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 :

dévalidation des filtres automatiques


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Par défaut dévalidation des filtres automatiques
    Bonjour,
    Dans une feuille Excel, j'insère, via le code VB6 ci-dessous, une nouvelle ligne sous une ligne de titres qui contient des filtres automatiques. lorsqu'un filtre(s) est actif(s) ma macro ne fonctionne plus (prévisible !!) .
    Comment dans mon code, à insérer au début, forcer une dévalidation de l'ensemble de ces filtres.

    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
    Sub ajouter() '
     
        Rows("2").Select
        Selection.Copy
        Selection.Insert Shift:=xlDown
         Range("b2").Select
        Application.CutCopyMode = False
        ActiveCell.FormulaR1C1 = ""
        Range("c2").Select
        ActiveCell.FormulaR1C1 = ""
        Range("D2").Select
           ActiveCell.FormulaR1C1 = ""
        Range("E2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("F2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("G2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("H2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("I2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("J2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("K2").Select
            ActiveCell.FormulaR1C1 = ""
        Range("b2").Select
    Par ailleurs, comme vous pouvez voir dans ce code, je vide les cellules de B2 à K2. j'ai essayé Range "B2:K2" mais cela ne fonctionne pas !
    si vous avez un code plus propre pour le même résultat je suis preneur

    Merci pour vos avis éclairés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    le plus simple est d'enlever ton filtre et de le remettre
    la syntaxe est la meme, tu la met deux fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.AutoFilter
    pour effacer ton range, tu devrais regarder l'aide, c'est juste une question de syntaxe

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Pour ton problème de filtre je n'ai pas regardé.
    Par contre, pour le "nettoyage" de tes cellules, ceci devrait donner le résultat escompté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B2:K2").ClearContents
    Une seule ligne, propre et net.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 98
    Par défaut
    Merci Alsimbad et alainTech,

    Vous avez répondu pleinement à ma demande

    je vous en remercie encore

    Ci-dessous mon code modifié suivant vos avis, et qui fonctionnement parfaitement

    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 ajouter()
     
    'fermeture des filtres automatiques
    Selection.AutoFilter
     
        'copie la ligne avec un décallage bas
        Rows("2").Select
        Selection.Copy
        Selection.Insert Shift:=xlDown
     
        'clear sur les cellules B2 à K2
        Range("B2:K2").ClearContents
     
        'repositionnement en B2
        Range("b2").Select
     
    'réactivation des filtres automatiques
     Selection.AutoFilter
    End Sub
    vieux motard que jamais !!

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

Discussions similaires

  1. [XL-2007] quatre listBox avec des filtres automatiques
    Par Biker_45 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 03/07/2012, 17h07
  2. [XL-2010] Criteria2 des filtres automatiques sur Date
    Par grpm dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/09/2011, 19h40
  3. Réponses: 1
    Dernier message: 27/11/2010, 23h09
  4. Réponses: 7
    Dernier message: 17/09/2008, 15h04
  5. Filtre automatique selon couleurs des cellules
    Par stryker973 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 21/03/2008, 12h29

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