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 :

Fonction pour faire la somme des cellule jaune [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Fonction pour faire la somme des cellule jaune
    Bonjour,
    je fais de petits programmes pour mon entreprise à l'aide d'excel-vba. Je n'ai encore jamais eu besoin de poster pour résoudre un problème, la consultation du forum me suffisait.


    donc l'idée est de faire une fonction utilisable depuis une feuille de calcul excel (c'est la le problème). Je veux faire la somme des cellules jaunes uniquement.

    la fonction est correcte mais ne donne pas de résultat dans la feuille de calcul

    voici mon code :

    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
    Public Const debuger  As Boolean = True 'debug mode
    Public Const couleur  As Double = 6 'couleur de planification
     
    --------------------------------------
    Public Function somme_sicouleur(plage)
    Dim cell As Range
    Dim add As Integer
    add = 0
     
    For Each cell In plage
     
        If cell.Interior.ColorIndex = couleur Then
        add = add + cell.Value
        End If
    Next
     
    If debuger = True Then MsgBox add
     
    somme_sicouleur = add
     
    End Function
    et donc dans ma cellule, je met

    =somme_sicouleur(E8:E127)

    et j'ai #VALEUR!

    help!

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function somme_sicouleur(plage As Range) As Double
    Dim cell As Range
    Dim add As Double
     
    For Each cell In plage
     If cell.Interior.ColorIndex = couleur And IsNumeric(cell.Value) Then add = add + cell.Value
    Next cell
    somme_sicouleur = add
    End Function
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Rho...
    La honte, comment j'ai loupé ça...


    Grand merci en tout cas mercatog

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

Discussions similaires

  1. [AC-2000] Comment faire la somme des heures en requete pour un état ?
    Par angelevil dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 08/09/2009, 02h19
  2. Réponses: 2
    Dernier message: 20/12/2008, 16h45
  3. faire une somme des cellules d'une selection
    Par prisme7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2008, 23h23
  4. Fonction pour faire des PING
    Par arnaudperfect dans le forum Réseau
    Réponses: 2
    Dernier message: 03/01/2008, 13h56
  5. [Requête] faire la somme des max pour chaque utilisateur
    Par novices dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2007, 11h45

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