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 :

Masquer une cellule et ne pas prendre en compte sa valeur dans les calculs [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut Masquer une cellule et ne pas prendre en compte sa valeur dans les calculs
    Bonjour à tous,

    Je suis un peu rouillé sur VBA et j'ai besoin d'une info simple

    Pour un développement sous Excel, je veux proposer un menu à l'ouverture pour sélectionner des paramètres dans des feuilles de calcul.
    En fonction des choix du menu, je veux afficher/masquer certaines cellules, mais aussi m'assurer que les valeurs des cellules masquées ne sont pas utilisées dans les calculs faits avec cette cellule.

    Par exemple, si en A4 j'ai la somme de A1 à A3, et que je masque A2, je veux que la somme ne tienne pas compte de A2.

    Avec la propriété hidden, je cache la cellule, mais sa valeur reste utilisée.

    Y a-t-il une autre propriété qui permet de "désactiver" la cellule totalement ?

    D'avance merci,

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    La formule SOMME ne permet pas de faire cela.

    Tu peux utiliser la formule SOUS.TOTAL


  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Je n'ai peut-être pas bien expliqué ce que je cherche: En fait je cherche une propriété permettant de rendre la plage "invisible" pour les fonctions qui incluraient sa valeur dans leurs calculs.

    Mais la fonction SOUS.TOTAL est intéressante, je ne connaissais pas.

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

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    La demande était claire.

    Il n'y a pas de propriété pour faire cela. (désolé)

    Il te faut :
    - soit remplacer tes formules SOMME par des SOUS.TOTAL
    - soit gérer les formules dynamiquement en VBA

    Cela dit, je peux me tromper et quelqu'un a peut etre une autre solution

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 320
    Points : 311
    Points
    311
    Par défaut
    Citation Envoyé par jfontaine Voir le message
    La demande était claire.

    Il n'y a pas de propriété pour faire cela. (désolé)

    Il te faut :
    - soit remplacer tes formules SOMME par des SOUS.TOTAL
    - soit gérer les formules dynamiquement en VBA

    Cela dit, je peux me tromper et quelqu'un a peut etre une autre solution
    J'ai donc ma réponse, merci.

    J'ai essayé avec SOUS.TOTAL à la place de SOMME, ça fonctionne, mais le problème c'est que :

    1. La feuille contient bien d'autres formules que des sommes
    2. Je ne fais que de l'interfaçage, les utilisateurs qui ajouteraient des formules utiliseraient SOMME dans 99% des cas.


    Donc, je suis contraint de faire un hidden=true, et un value="" quand je masque des cellules, ce qui me fait perdre la valeur d'origine, mais tant pis.

    Merci pour ton aide, je me coucherais moins bête ce soir en tout cas avec une fonction de plus dans ma tête

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Points : 40
    Points
    40
    Par défaut Pourquoi pas?
    Bonjour.
    Pourquoi faire simple quand on peut faire compliqué?

    Il suffit de créer une fonction que tu pourrais appeler SOMMES avec comme paramètre la zone à sommer (RANGE) avec un simple test pour ne prendre en compte que les cellules non masquées.

    Cela t'éviterais de perdre les valeurs!

    Espérant t'avoir aidé.
    Cdlt

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2013, 13h00
  2. Réponses: 2
    Dernier message: 31/08/2007, 16h52
  3. Sélection de texte à l'intérieur d'une cellule. C'est [PAS] possible.
    Par Blackfox dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 20/08/2007, 14h01
  4. Comment masquer une cellule d'un DataGridView ?
    Par StormimOn dans le forum Windows Forms
    Réponses: 11
    Dernier message: 14/06/2007, 15h00
  5. ne pas prendre en compte la casse ni les accents
    Par pigpen dans le forum JDBC
    Réponses: 14
    Dernier message: 10/05/2007, 14h40

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