Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA et matrice

Bruno87

XLDnaute Nouveau
Bonjour,

Je suis en train d'écrire une macro et je tourne en rond depuis plus de 3h. Quelqu'un pour m'aider s'il vous plait?
Code:
Public Function couleur(sel As Range)
Application.Volatile
If sel.Interior.ColorIndex > 0 Then
couleur = 1

Else
couleur = 0

End If

End Function

Cette fonction a pour but de renvoyer des "0" et des "1" selon le remplissage de la cellule. Cette fonction fonctionne très bien, mais une fois placé dans la formule suivante, c'est le drame:
Code:
=SOMMEPROD(couleur(IF5:IF72);$C$5:$C$72;$IL$5:$IL$72)

Je pense que la fonction "couleur" doit renvoyer à une matrice pour que la formule précédent puisse fonctionner. Mais je n'arrive pas à comprendre comment faire.

J'ai donc essayé ce code, mais rien à faire:
Code:
Function couleur(sel As Object) As Variant
Application.Volatile

Dim temp As Variant
Dim i As Integer, j As Integer

temp = sel.Interior.ColorIndex

If IsArray(sel) Then

    For i = 1 To UBound(temp, 1)
        For j = 1 To UBound(temp, 2)
        
            If temp(i, j) > 0 Then
            temp(i, j) = 1
            Else
            temp(i, j) = 0
            End If
        Next j
    Next i

Else
    If temp.Interior.ColorIndex > 0 Then
    temp = 1
    Else
    temp = 0
    End If
    
End If

couleur = temp

End Function

Pouvez-vous m'aider?
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : VBA et matrice

Bonjour Bruno87_ Pas certain d'avoir compris _ Une proposition _ Cordialement
 

Pièces jointes

  • Couleur(1).xls
    17.5 KB · Affichages: 36
  • Couleur(1).xls
    17.5 KB · Affichages: 39
  • Couleur(1).xls
    17.5 KB · Affichages: 39
Dernière édition:
C

Compte Supprimé 979

Guest
Re : VBA et matrice

Salut Bruno87, Efgé

Pourquoi ce cassé la tête, fait carrément une fonction qui fait la somme de cellules selon les couleurs
Pour pouvoir t'aider il me faudrait un fichier exemple

A+
 

Bruno87

XLDnaute Nouveau
Re : VBA et matrice

Merci de vos réponses. Je joins un fichier avec un exemple
 

Pièces jointes

  • Couleur(1).xls
    18.5 KB · Affichages: 39
  • Couleur(1).xls
    18.5 KB · Affichages: 43
  • Couleur(1).xls
    18.5 KB · Affichages: 42

Efgé

XLDnaute Barbatruc
Re : VBA et matrice

Re Bruno87, Bonjour BrunoM45 _ une autre proposition _ Cordialement
 

Pièces jointes

  • Couleur(2).xls
    19 KB · Affichages: 40
  • Couleur(2).xls
    19 KB · Affichages: 37
  • Couleur(2).xls
    19 KB · Affichages: 39
C

Compte Supprimé 979

Guest
Re : VBA et matrice

Salut Efgé, Bruno87

Une méthode similaire à celle d'Efgé

A+
 

Pièces jointes

  • Bruno87_SommeSiCouleur.xls
    22 KB · Affichages: 47

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…