Mettre une condition dans un calcul

Bonjour,

J'ai une question sur les conditions.

Un calcul de somme simple au départ, je m'explique

Admettons:

Somme dans une cellule A5 donc A5=SOMME(A1:A4) jusque la tout va bien.

Maintenant dans mes cellules de A1 à A4 qui contiennent donc des chiffres pour faire simple prenons 5 pour toutes les cellules.

5+5+5+5 = 20 ok

Donc voici la condition que je voudrais appliquer SI A3= une Couleur.

La valeur de calcul de A3=0, mais tout en ayant le chiffre 5 qui apparait dans la cellule,et dés que l'on enlève la couleur la cellule reprend sa valeur donc A3=5

ce qui donne donc

5+5+5+5=15

5+5+5+5=20

La formule doit s'appliquer à l' ensemble des cellules ou de une ou plusieurs colonnes de ma feuille de calcul.

J' espère être assez clair dans mes explication.

D'avance je vous remercie si il y a une solution.

Cordialement

Wasa

Bonjour,

code à essayer et qui réagira sur le changement de sélection de cellule sur la feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'MAcro Dan
Dim somme
Dim cel As Range
Somme = 0
For Each cel In Range("A1:A4")
    If cel.Font.ColorIndex = -4105 Then
        Somme = Somme + cel.Value
    End If
Next
Range("A5") = Somme
End Sub

Code à placer dans la feuille concernée. Pour placer le code :

  • Les macros doivent être actives
  • clique droite sur l'onglet concerné
  • choisir l'option "visualiser le code"
  • coller le code ci-avant dans la fenêtre

Par défaut j'ai considéré que les chiffres à additionner sont en couleur noir (format sur "automatique")

Une fois la couleur changée, cliquer dans une autre cellule pour avoir la somme en A5

Si ok, n'oublie pas de cliquer sur le V vert pour cloturer le fil

Amicalement

C' est bon j'ai trouvé pour que cela fonctionne comme je veux, juste à mettre "If cel.Interior.ColorIndex = xlNone Then" dans le code.

Maintenant je voudrais que le code puisses s'appliquer à plusieurs colonnes sur une même feuille.

Admettons

A5=somme(A1:A4)

B5=somme (B1:B4)

J'ai testé plusieurs truc mais n y suis pas parvenu.

Merci encore pour votre aide.

Cordialement

Wasabi

Re,

Combien de colonnes ? Juste A et B ou d'autres ?

Essaie comme ceci :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Macro Dan le 14/03/11
Dim somme
Dim cel As Range
somme = 0
Select Case Target.Column
    Case 1, 2
        For Each cel In Range(Cells(1, Target.Column), Cells(4, Target.Column))
            If cel.Font.ColorIndex = xlnone Then
                somme = somme + cel.Value
            End If
        Next
        Cells(5, Target.Column) = somme
End Select
End Sub

Avec 1 et 2, respectivement les colonnes A et B

Attention qu'une fois la couleur modifiée, tu dois sélectionner une autre cellule de la même colonne pour que la somme soit appliquée. La touche Entree fonctionne aussi bien sûr.

Si ok n'oublie pas de cliquer sur le V vert pour cloturer le fil

Amicalement

Salut

Merci Dan, si tu connais un ou plusieurs ouvrages sur le B à Ba d'Excel à me conseiller, Je suis preneur

je clos le sujet tu peux me répondre en MP

Merci encore Dan

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    'Macro Dan le 14/03/11
    Dim somme
    Dim cel As Range
    somme = 0
    Select Case Target.Column
        Case 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22
            For Each cel In Range(Cells(3, Target.Column), Cells(9, Target.Column))
                If cel.Interior.ColorIndex = 15 Then

                    somme = somme + cel.Value
                End If
            Next
            Cells(10, Target.Column) = somme

    End Select
    End Sub

Bonjour,

je fais évoluer le code ci-dessus et j'aurais besoin d'aide, je voudrais rajouter à ce code le même code sauf qu'à la place de

"If cel.Interior.ColorIndex = 15 Then" je voudrais mettre

If cel.Interior.ColorIndex = xlNone Then 
 somme = somme + cel.Value
                End If
            Next
 Cells(11, Target.Column) = somme

Et aussi je voudrais lui faire comprendre que mes cellules A10 et B10 sont fusionées et bien entendu que pour A11 et B11 elles sont fusionnées aussi.En résumé toute les cellules des lignes 10 et 11 sont fusionnées.Puis si il y a possibilité de simplifier "case"2, 4, 6 ,8..... sachant que une case sur 2 c'est du texte et l'autre donc ma valeur numérique.

D'où colonne A1à A9 =texte, B1 à B9 = Nombres , résultat sur cellules fusionnées en A10B10 et en A11B11

Par contre sur ma feuille de calcul j' ai 4 tableaux et il faut que le code s'applique indépendamment chaque tableaux

en sachant que la prochaine ligne du 2éme tableau part de A16 puis résultat A23B23 et A24B24

3 " " " " " A29 " " A36B36 et A37B37

4 " " " " " A42 " " A49B49 et A50B50

D'avance merci de votre aide

CDLT

Wasa

Bonjour

Une solution un peu tordue

Bonsoir

Merci Banzai mais ce n est pas le resultat que j'attendais j'ai donc fait un imprime écran

ce sera plus explicite

Donc les cellules Grise sont les agents qui travail le Samedi et donc se calcul dans la ligne 11

Donc il y a les 4 trimestres les uns en desous des autres.

Merci de votre Aide

Cdlt

Bonjour

Bien sur si tu changes les règles du jeux, tu n'auras pas ce que tu voulais

mes cellules A10 et B10 sont fusionées et bien entendu que pour A11 et B11 elles sont fusionnées

Nouvelle règle : B10 et C10 fusionnées et bien sur B11 et C11 aussi

D'où colonne A1à A9 =texte, B1 à B9 = Nombres

Nouvelle règle : lignes de B3 à B9 = Texte, C3 à C9 = Nombre

If cel.Interior.ColorIndex = 15 Then somme = somme + cel.Value End If

Cells(10, Target.Column) = somme

Nouvelle règle : Quand les cellules sont grises la somme en ligne 11

Même remarque pour les cellules sans couleur qui passe de la ligne 11 à la ligne 10

Puis si il y a possibilité de simplifier "case"2, 4, 6 ,8.....

Nouvelle règle : Colonnes 3,5,7,9,.....

Déjà si d'entrée tu avais fourni un fichier il y aurait moins de soucis

Bonjour,

Effectivement ça aurait été plus simple, de le mettre des le début, mais on boulot on est tres limite sur internet

e donc pas pu au moment ou j ai poste de faire un imprime écran

je te remercie de ton aide

Cdlt

Rechercher des sujets similaires à "mettre condition calcul"