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 :

boucle hide range if = 0


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut boucle hide range if = 0
    Bonjour,
    je resume rapidement mon probleme.
    je veux que ma macro chercher la colonne G et commence sa recherche a partir de la ligne 13, pour sa c bon...
    et je veux qu' une fois trouver elle compare G* =0 Si =0 cacher ligne sinon cellule suivante..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub cacher()
    Dim Cell As Range
    On Error Resume Next
    For Each Cell In Range("G13:G" & Range("G65536").End(xlUp).Row)
    '.....................................................................
    'verifier que la colone G = 0 if 0 HIDE
    '.....................................................................
    Next Cell
    End Sub


    PS: si vous avez des site ou je peux evoluer sur les macro en excel n' esiter pas ... je ne trouve pas d' explication mais tres souvent des sources.. et moi je preferes quel son expliquer pour les dupliquer. ^^

    Merci

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour
    premièrement quand tu donnes un code utilise les balises tu selectionne le code et tu clique sur le bouton # au dessus de la zone d'édition

    pour ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub cacher()
    Dim Cell As Range
    On Error Resume Next
    For Each Cell In Range("G13:G" & Range("G65536").End(xlUp).Row)
    '.....................................................................
    If Cell = 0 Then Cell.EntireRow.Hidden = True
    '.....................................................................
    Next Cell
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut
    MErci Sa marche, j' aurais cru que sa aurai accélère le hide mais non.. pas grave, sa fait moins de ligne de code. Merci.


    PS: je prend note de ta suggestion.

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Si tu veux accélérer le code
    met au début de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.screenupdating=false

    Et édit ton premier message pour rajouter les balise code ca évitera aux modérateur d'avoir a le faire

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut
    Super,
    pile ce que je voulais!
    Tu te débrouille super bien ... continu comme sa tu iras loin

    Voici le code complet pour les personnes qui chercherais

    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
    Sub cacher()
    'rend la macro plus rapide et plus propre visuellement
    Application.ScreenUpdating = False
    '******************************************************
    Dim Cell As Range
    On Error Resume Next
    'cherche la colonne G et commence son exécution a partir de la ligne 13 
    'jusqu'à a la fin.
    For Each Cell In Range("G13:G" & Range("G65536").End(xlUp).Row)
    '******************************************************
    'Si Dans la colonne G a partire de la ligne 13 = 0 
    'alors cacher la ligne sinon ligne suivante
    If Cell = 0 Then Cell.EntireRow.Hidden = True
    '******************************************************
    Next Cell
    End Sub
    Je remercie :
    Krovax
    Expert Confirmé

    Pour son aide très précieuse.

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

Discussions similaires

  1. [XL-2003] VBA problème avec la une boucle for range.end(xlup).row après suppression de lignes
    Par JohnNC115 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 25/01/2011, 10h21
  2. [XL-2007] Boucle et Range pour application foot
    Par foparis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/08/2009, 13h39
  3. Boucle et Range
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/07/2007, 23h08
  4. aide vba boucle for each paramétrée en range
    Par gotlieb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/07/2006, 08h55
  5. [VBA-E] Modifier le contenu d'un range sans boucle
    Par MatMeuh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/04/2006, 11h19

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