Fonction somme si en fonction du nom d'onglet

Messages postés
113
Date d'inscription
mardi 9 septembre 2008
Dernière intervention
22 janvier 2019
- - Dernière réponse : Patrice33740
Messages postés
7594
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
15 février 2019
- 23 janv. 2019 à 09:55
Bonjour,

Je butte depuis plusieurs jours sur une macro simple de calcul de somme si en fonction de la couleur de fond et du nom d'un onglet.

J'ai un onglet "Récapitulatif" ou je souhaite utiliser mes fonctions.
De la cellule B7 à la cellule AI7, figurent mes numéros de semaine.

De la cellule B22 à la cellule AI22, j'y appelle ma fonction:

B22=RecupNbHeuresInsertionArg(B$7) C22= RecupNbHeuresInsertionArg(C$7)....

Ma fonction qui pose problème est la suivante:

Function RecupNbHeuresInsertionArg(ByRef Cellule As Range) As Long
Dim numcol As Integer
Dim cell As Range
Application.Volatile True
numcol = Cellule.Value
Dim som As Long
som = 0


Sheets("Sem " & numcol).Range("B25:F44").Select

For Each cell In Selection

If cell.Interior.ColorIndex = 6 Then
som = som + cell.Value

End If

Next cell

RecupNbHeuresInsertionArg = som



End Function




Je souhaite que cette fonction calcule la somme par couleur (ColorIndex = 6 est jaune) de l'onglet sélectionné par la variable d'entrée de ma fonction (cellule) sur une plage précise (ici B25:F44) de cet onglet.


Peut-être quelque chose d'évident m'échappe? Cette fonction me retourne une erreur #Valeur
J'espère être clair, merci d'avance pour votre aide précieuse

Alain
Afficher la suite 

Votre réponse

1 réponse

Messages postés
7594
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
15 février 2019
15
0
Merci
Bonjour,

1) Il ne faut pas utiliser Select dans une fonction !!!!
2) numcol n'est pas défini
Commenter la réponse de Patrice33740

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.