[Excel] Problème plage de cellule

Bonjour,

En fait c'est très simple, j'ai une plage de cellulle ("A1:A35")
Certaines de ces cellules sont coloré en vert, en A38 je voudrais la somme de toutes les cellules présentent dans la plage ("A1:A35") mais sans les cellules coloré en vert..

Quelqu'un aurait une solution de fonction sous excel?

Merci
Configuration: Windows XP
Firefox 2.0.0.20

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Alors pour t'aider il y a plein de choix mais j'en ai une assez simple mais bon peux paramétrable c'est :

    =somme(A1:A35)-(Cellule verte 1)-(cellule 2 verte) ...

    Sinon dit moi a quoi correspond tes cellules vertes je pourrai peut être t'aider plus pour un meilleur paramétrage de ton champ somme. ;)
    1. Re,

      Merci de répondre, il y a juste des chiffres à l'intérieur de chaque cellule mais certains chiffre qui ont la celulle coloré en vert ne doivent pas faire partie de la somme.
      Or, je ne peux pas faire une fonction prédéfini car les celule coloré peuvent être n'importe ou dans la plage donné tout dépend du résultat de ma macro
      1. Bon alors pour t'aider dans le menu "Insertion / fonction..." (je parle pour excel 2003) la tu a une fonction qui s'appel =SOMME.SI()

        Pour plus d'info voila l'aide d'excel 2003 :

        SOMME.SI

        Voir aussi

        Additionne des cellules spécifiées si elles répondent à un critère donné.

        Syntaxe

        SOMME.SI(plage;critère;somme_plage)

        plage représente la plage de cellules sur lesquelles baser la fonction.

        critère représente le critère, sous forme de nombre, d'expression ou de texte, définissant les cellules à additionner. Par exemple, l'argument critère peut être exprimé sous une des formes suivantes : « 32 », « >32 », « pommes ».

        somme_plage représente les cellules à additionner.

        Notes

        Les cellules comprises dans l'argument somme_plage sont additionnées si et seulement si les cellules correspondantes situées dans l'argument plage répondent au critère.

        Si l'argument somme_plage est omis, ce sont les cellules de l'argument plage qui sont additionnées.

        Microsoft Excel offre des fonctions supplémentaires que vous pouvez utiliser pour analyser des données sur la base d'une condition. Par exemple, pour compter le nombre d'occurrences d'une chaîne de texte ou d'un nombre à l'intérieur d'une plage de cellules, utilisez la fonction NB.SI. Pour faire en sorte qu'une formule renvoie une ou deux valeur(s) basée(s) sur une condition telle qu'une prime à la vente basée sur un certain chiffre de vente, utilisez la fonction SI.

        Exemple

        L'exemple sera plus compréhensible si vous le copiez dans une feuille de calcul vide.

        Procédure

        Créez un classeur ou une feuille de calcul vide.
        Sélectionnez l'exemple de la rubrique d'aide. Ne sélectionnez pas les en-têtes des lignes ou des colonnes.

        Sélection d'un exemple de l'aide

        Appuyez sur CTRL+C.
        Dans la feuille de calcul, sélectionnez la cellule A1 et appuyez sur CTRL+V.
        Pour passer de l'affichage des résultats à celui des formules permettant de renvoyer les résultats, appuyez sur CTRL+` (apostrophe), ou dans le menu Outils, pointez sur Audit des formules, puis cliquez sur Mode d'audit des formules.

        1
        2
        3
        4
        5
        A B
        Valeur de propriété Commission
        100 000 7 000
        200 000 14 000
        300 000 21 000
        400 000 28 000
        Formule Description (résultat)
        =SOMME.SI(A2:A5;">160 000";B2:B5) Somme des commissions relatives aux valeurs de propriétés excédant 160 000 (63 000)
        1. Re,

          Oui j'avais cette fonction aussi j'ai essayé mais je n'arrivais pas à mettre la couleur dans les critères...
          1. re,

            Quel sont les infos des macros de tes cellules pour que celle-ci soient vertes ou pas ce ci pourrai t'aider a savoir ce qu'il faut indiquer dans la fonction somme.si

            Indique moi ton macro ci-dessous ce serai super comme ça je pourrai t'indiquer la fonction.
        2. Merci pour ton aide

          la celulle est coloré si il y a une fiche d'incidence qui est présente dans un répertoire que je parcours dans ma macro

          Sub ListeFichiers()
          Dim mypath As Variant
          Dim nf As String
          Dim lignefin As Integer
          Dim JourIncident As Integer
          Dim casefinh As Variant
          Dim fin As Range
          Dim celule As Variant

          lignefin = 48
          casefinh = "E" & lignefin
          Application.ScreenUpdating = False
          Worksheets("Bilan").Activate
          Range("E48:E60").Clear
          mypath = "\\ps05\RtFtp\rateL\C-INCIDENTS\" & UserForm1.DTPick.Year & "-" & Format(UserForm1.DTPick.Month, "00") & "\"

          Range("E48").Select
          nf = Dir(mypath)
          Do While nf <> ""
          ActiveCell = nf
          ActiveCell.Offset(1, 0).Select
          nf = Dir
          Loop
          Range("E48").Select
          Set fin = Sheets("Bilan").Range(casefinh)
          Do While Range(casefinh) <> ""
          Set fin = Sheets("Bilan").Range(casefinh)

          If Mid(fin, 13, 3) = "tya"
          JourIncident = Mid(Range(casefinh), 17, 2)
          For Each celule In Range("A1:A39")
          If JourIncident = celule Then
          celule.Interior.Color = RGB(255, 0, 0)
          celule.Offset(0, 9).Interior.Color = RGB(255, 0, 0)
          celule.Offset(0, 18).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 3) = "tyb"
          JourIncident = Mid(Range(casefinh), 17, 2)
          For Each cellule In Range("A1:A39")
          If JourIncident = cellule Then
          cellule.Interior.Color = RGB(255, 0, 0)
          cellule.Offset(0, 10).Interior.Color = RGB(255, 0, 0)
          cellule.Offset(0, 19).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 3) = "tyc"
          JourIncident = Mid(Range(casefinh), 17, 2)
          For Each celules In Range("A1:A39")
          If JourIncident = celules Then
          celules.Interior.Color = RGB(255, 0, 0)
          celules.Offset(0, 11).Interior.Color = RGB(255, 0, 0)
          celules.Offset(0, 20).Interior.Color = RGB(255, 0, 0)

          End If
          Next

          Else
          If Mid(fin, 13, 2) = "Tp"
          JourIncident = Mid(Range(casefinh), 16, 2)
          For Each cellules In Range("A1:A39")
          If JourIncident = cellules Then
          cellules.Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 12).Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 21).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 8) = "Hor"
          JourIncident = Mid(Range(casefinh), 22, 2)
          For Each cellules In Range("A1:A39")
          If JourIncident = cellules Then
          cellules.Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 13).Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 22).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 9) = "Prov"
          JourIncident = Mid(Range(casefinh), 23, 2)
          For Each cellules In Range("A1:A39")
          If JourIncident = cellules Then
          cellules.Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 14).Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 23).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 9) = "Pro"
          JourIncident = Mid(Range(casefinh), 23, 2)
          For Each cellules In Range("A1:A39")
          If JourIncident = cellules Then
          cellules.Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 15).Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 24).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          Else
          If Mid(fin, 13, 5) = "Luy"
          JourIncident = Mid(Range(casefinh), 19, 2)
          For Each cellules In Range("A1:A39")
          If JourIncident = cellules Then
          cellules.Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 16).Interior.Color = RGB(255, 0, 0)
          cellules.Offset(0, 25).Interior.Color = RGB(255, 0, 0)
          End If
          Next

          End If
          End If
          End If
          End If
          End If
          End If
          End If
          End If

          lignefin = lignefin + 1
          casefinh = "E" & lignefin
          Loop
          Range("E48:E70").Clear
          End Sub