Faire somme suivant motif et texte

Mag86 -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite créer une fonction sous VBA me permettant de faire la somme des cellules de la colonne "P" si :
- ces cellules ont un motif
- la cellule sur la même ligne mais dans la colonne "L" contient le texte "toto"

J'ai tenté ça mais ça ne fonctionne pas et je tourne en rond malgres que je suis persuadée que c'est simple...

Function SommeCouleur(PlageSomme As Range, PlageCouleur As Range, ValTxt) As Variant
Dim Cel As Range
Dim Som As Double
Application.Volatile
For Each Cel In PlageSomme
If Cel.Interior.Pattern=PlageCouleur.Interior.Pattern And Cel.Cells(Cel, 12)=ValTxt Then
Som=Som+Cel
End If
Next
SommeCouleur=Som
End Function


Merci pour votre aide!

PS : J'espère que vous pourrez lire le code correctement car j'ai bien mis les balises "code" mais sur mon IPhone je ne vois pas la différence...
A voir également:

2 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

essaies ceci
If Cel.Interior.Pattern = PlageCouleur.Interior.Pattern And ActiveSheet.Cells(Cel.Row, 12) = ValTxt Then

bonne suite
1
Mag86
 
Merci ccm81, cette fois ça fonctionne !
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

En complement de ccm81, j'ai vire PlageCouleur parce que d'apres l'enonce du sujet, il n'est pas dit que les cellules colonne P doivent avoir un motif particulier.

A voir

Function SommeCouleur(PlageSomme As Range, Valtxt) As Variant
  Dim Cel As Range
  Dim Som As Double
  
  Application.Volatile
  For Each Cel In PlageSomme
    'Cellule Lx=Valtxt et Cellule Px style de motif <> de pas de Style
    If ActiveSheet.Cells(Cel.Row, 12) = Valtxt And Cel.Interior.Pattern <> xlNone Then
      Som = Som + Cel
    End If
  Next
  SommeCouleur = Som
End Function


Bonne suite
0
Mag86
 
Bonjour,
Si elles ont un motif c'est mon premier tiret dans l'énoncé. A moins que je me sois mal exprimée...
Merci à vous
0
Mag86
 
Ah j'avais lu trop vite! J'ai compris ce que vous voulez dire, vous avez raison cela simplifie le code.
Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Oui, mais votre demande n'est pas que ce soit un motif en particulier ex: barres obliques a droite, d'ou mon test <>xlNone (different de pas de "motif")
0