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 :

Suite sur VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut Suite sur VBA
    Coucou encore moi,

    Ca devrai pas etre compliquer cette fois, j'ai une formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("A1").Value = "0" Then
    Range ("A1").Entirerow.Hidden=true
    Else
    Range("A1").EntireRow.Hidden=False
    End iF
    En gros je voudrais que cette action se repete sur A2,A3,A4,A5... sans avoir a rettaper 10 fois la formule.

    J ai essayer en mettant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("A1,A2,A3,A4,A5").Value = "0" Then
    Range ("A1,A2,A3,A4,A5").Entirerow.Hidden=true
    Else
    Range("A1,A2,A3,A4,A5").EntireRow.Hidden=False
    End iF

    Seulement il me cache aussi les cases avec ne valeur differente de 0

    Merci

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Je n'ai pas testé le code mais ca devrait ressembler à ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    dim i as byte
     
    for i=1 to 10
     
          If Range("A" & i).Value = "0" Then
               Range ("A" & i).Entirerow.Hidden=true
          Else 
               Range("A" & i).EntireRow.Hidden=False
          End iF
     
    next
    Jérôme

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Par défaut
    Plus simple avec boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Maplage As Range
     
    For Each Maplage In Range("A1:A500")
     
    If Maplage.Value = "0" Then
    maplage.Entirerow.Hidden=true
    Else
    maplage.EntireRow.Hidden=False
    End iF
     
     
    Next

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    Merci les gars vos deux techniques marchent j ai pas encore choisi a++

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 50
    Par défaut
    Si vous passer un coup d oiel rapide pouvez me dire vite fe comment je le fe si je ve aller de A1:A5 puis de A10:A15 et enfin de A20:A25
    Avec un for i=..........

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    POurquoi pas comme ca

    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
     
    dim i as byte
     
    for i=1 to 25
     
          select case i
              case 6,16
                 i=i+4
              case else
     
          end select
     
          If Range("A" & i).Value = "0" Then
               Range ("A" & i).Entirerow.Hidden=true
          Else 
               Range("A" & i).EntireRow.Hidden=False
          End iF
     
     
     
     
    next
    Jérôme

  7. #7
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Citation Envoyé par nicoroth
    Si vous passer un coup d oiel rapide pouvez me dire vite fe comment je le fe si je ve aller de A1:A5 puis de A10:A15 et enfin de A20:A25
    Avec un for i=..........
    Prière de lire les règles du forum. L'utilisation d'un langage abrégé génère parfois de l'irritation. Plus spécialement d'une certaine modératrice québécoise...

    J'ai ajouté les balises [CODE] dans les messages de nicoroth et Zeibla. La prochaine fois, pensez-y.

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

Discussions similaires

  1. requête de selection sur VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 28/08/2006, 10h58
  2. [VBA-E] tri sur VBA pour Excel
    Par mariedrouin dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/05/2006, 13h32
  3. Réponses: 3
    Dernier message: 09/04/2006, 09h10
  4. [Livre] Débuts sur VBA 6.3 pour EXCEL 2002
    Par thulvar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 10h45
  5. Création DLL pour utilisation sur VBA
    Par Fbartolo dans le forum C++Builder
    Réponses: 1
    Dernier message: 21/11/2005, 20h44

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