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 :

Questions diverses sur macros [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Par défaut Questions diverses sur macros
    Bonjour,

    Je débute sur VBA Excel (voire VBA tout court ^^) donc ne m'en veuillez pas si j'ai du mal à m'exprimer...

    J'ai une facture sous excel qui fallait rendre moins touffue.
    La solution : une macro afficher toutes les cellules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub AFFICHER()
    Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        cellule.EntireRow.Hidden = False
        Next cellule
    End Sub
    J'ai trouvé ce code en farfouillant un peu, il y a peut être plus facile...

    Ensuite une macro qui permet de masquer des lignes qui contiennent un cellule de référence vide (une quantité) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub MASQUER()
     
        Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        If cellule.Value = "" Then
        cellule.EntireRow.Hidden = True
        End If
        Next cellule
     
    End Sub
    Ca fonctionne bien, j'ai rajouté des boutons sur la feuille et ca marche aussi.

    J'aimerai rajouter dans le code un autre critère que "", par exemple 0.
    Si la cellule est vide ou contient un 0 alors il faut la masquer.

    J'ai essayé avec Or mais ca ne masque pas la ligne ou la cellule de réf contient 0, seulement si c'est vide.



    Ensuite, l'idéal serait de pouvoir automatiser le code AFFICHER à l'ouverture du classeur.
    J'ai bien trouvé en cherchant le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
    Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        cellule.EntireRow.Hidden = False
        Next cellule
    End Sub
    Mais ca ne marche pas.

    De même j'aimerai pouvoir automatiser le code MASQUER lors de l'impression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
        Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        If cellule.Value = "" Then
        cellule.EntireRow.Hidden = True
        End If
        Next cellule
     
    End Sub

    Merci d'avance pour le coup de main.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    J'aimerai rajouter dans le code un autre critère que "", par exemple 0.
    Utilise ElseIf
    "Ensuite, l'idéal serait de pouvoir automatiser le code AFFICHER à l'ouverture du classeur.
    Il faut enregistrer cette macro dans "This workbook"

    Idem pour masquer

  3. #3
    Membre averti
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Par défaut
    Merci pour tes réponses


    Citation Envoyé par had4789 Voir le message
    Bonjour,

    "J'aimerai rajouter dans le code un autre critère que "", par exemple 0."

    Utilise ElseIf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub MASQUER()
     
        Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        If cellule.Value = "" Then
        ElseIf cellule.Value = "0" Then
        cellule.EntireRow.Hidden = True
        End If
        Next cellule
     
    End Sub
    Ca me masque les 0 mais plus les vides

    Citation Envoyé par had4789 Voir le message


    "Ensuite, l'idéal serait de pouvoir automatiser le code AFFICHER à l'ouverture du classeur."

    Il faut enregistrer cette macro dans "This workbook"
    C'est enregistré dans thisworkbook mais ca ne fonctionne pas

    Idem pour masquer

  4. #4
    Invité
    Invité(e)
    Par défaut Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MASQUER()
     
        Dim cellule As Range
        For Each cellule In Union(Range("E32:e35"), Range("e39:e43"), Range("e47:e48"), Range("e52"), Range("e55"))
        If trim("" & cellule.Value) = ""  or trim("" & cellule.Value) = "0" Then
            cellule.EntireRow.Hidden = True
       else
           cellule.EntireRow.Hidden = false
        End If
        Next cellule
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    MASQUER
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Par défaut
    Impeccable ca marche pour les 0.
    Merci.

    Par contre pas pour l'ouverture.
    J'ai ce message d'erreur :

    Nom : excel.jpg
Affichages : 186
Taille : 141,8 Ko

  6. #6
    Invité
    Invité(e)
    Par défaut
    a l'ouverture ton fichier n'est pas placé sur une feuille d'ou l'erreur!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     For Each cellule In Union(sheets("Feuil1").Range("E32:e35"),sheets("Feuil1").Range("e39:e43"), sheets("Feuil1").Range("e47:e48"), sheets("Feuil1").Range("e52"), sheets("Feuil1").Range("e55"))
        If trim("" & cellule.Value) = ""  or trim("" & cellule.Value) = "0" Then
            cellule.EntireRow.Hidden = True
       else
           cellule.EntireRow.Hidden = false
        End If
        Next cellule
     
    End Sub
    Dernière modification par Invité ; 30/07/2014 à 12h20.

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

Discussions similaires

  1. Questions diverses sur MySQL 5.0
    Par AsmCode dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 25/01/2007, 16h35
  2. Questions diverses sur les packages
    Par Stief dans le forum Mise en forme
    Réponses: 1
    Dernier message: 15/10/2006, 11h35
  3. [RSS] Questions diverses sur les flux RSS (Google et phpBB)
    Par leserapheen dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/10/2006, 14h35
  4. [DW8] Questions diverses sur le logicie
    Par syn_42 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 01/03/2006, 17h23
  5. Questions diverses sur TIBDataset et TDBGrid
    Par AlexB59 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/11/2005, 17h14

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