OVH Cloud OVH Cloud

formule excel

26 réponses
Avatar
francois
bonjours
j'ai fais un tableau ur 26 colonnes de A à Z et 62 lignes

les 3 premières colones sont des calcul de dates la 1er sevant de référence
pour le calcul de la 11ème (K)colonne qui calcule la somme de D;E;F;G;H;I;J
(se sont des donnés manuelles en heures de travail)
L correspond a une formule de calcul de décompte par rapport a une semaine
de travail soit 34,92h
M calcule le resultat de L + M-1 et fait le cumul des heures suplémentaires
jusque là pas de problème,

le reste des colonnes de N à Z représentent les abcences , les conges,
intempéries, J. fériés etc....

je pense que pour vous cela doit etre facille de faire une formule VBA pour
récupérer les données sur les colonnes deD a J pour ventiller les diférentes
abcences sur N à Z

mois ce que je cherche serais une formule excel qui puisse calculer
les sommes de D à J en faisant référence a la couleur de police dans ces
plages
exemple
=si(d:j=police rouge;somme police rouge;"")ou
j'ai éssayé cette formulee ainsi que somme si mais sa me donne une boite
de dialogue d'érreur ou sa me trasforme la commende rouge en élément texte

avez vous une solution ?

a savoir que la meme formule me servira pour les autres catégories
d'abcences il suffirra de chager la référence de couleur de police dans la
formule etd'utiliser ces couleur sur la feuille de pointage exemple fleu
pour les jours fériés rouge pour les congé payes, vert pour les congé
evénements familiaux etc........

merci d'avence

10 réponses

1 2 3
Avatar
isabelle
bonjour François,

il n'existe pas de formule dans excel pour faire cette somme, mais tu
peux créer ta propre fonction (formule) personnalisé.

à copier dans un module standard:

Function SommeCouleurText(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(i).Font.ColorIndex = couleur Then
SommeCouleurText = SommeCouleurText + plage(i)
End If
Next
End Function

'pour la description de cette fonction
'tu ouvres la boîte de dialogue "macro" Raccourci : Alt + F8
'tu inscrit le nom " SommeCouleurText " dans la section "Nom de la
macro" et tu cliques sur le bouton "Options"
'dans la fenêtre suivante, tu peux décrire dans la boîte
'"Description" les détails pour les numéros de couleur
'par exemple :
'Couleur
'3 rouge 4 vert
'5 bleu 6 jaune

la fonction SommeCouleurText sera disponible au menu,
Insertion, Fonction, catégorie Personnalisées

isabelle




bonjours
j'ai fais un tableau ur 26 colonnes de A à Z et 62 lignes

les 3 premières colones sont des calcul de dates la 1er sevant de référence
pour le calcul de la 11ème (K)colonne qui calcule la somme de D;E;F;G;H;I;J
(se sont des donnés manuelles en heures de travail)
L correspond a une formule de calcul de décompte par rapport a une semaine
de travail soit 34,92h
M calcule le resultat de L + M-1 et fait le cumul des heures suplémentaires
jusque là pas de problème,

le reste des colonnes de N à Z représentent les abcences , les conges,
intempéries, J. fériés etc....

je pense que pour vous cela doit etre facille de faire une formule VBA pour
récupérer les données sur les colonnes deD a J pour ventiller les diférentes
abcences sur N à Z

mois ce que je cherche serais une formule excel qui puisse calculer
les sommes de D à J en faisant référence a la couleur de police dans ces
plages
exemple
=si(d:j=police rouge;somme police rouge;"")ou
j'ai éssayé cette formulee ainsi que somme si mais sa me donne une boite
de dialogue d'érreur ou sa me trasforme la commende rouge en élément texte

avez vous une solution ?

a savoir que la meme formule me servira pour les autres catégories
d'abcences il suffirra de chager la référence de couleur de police dans la
formule etd'utiliser ces couleur sur la feuille de pointage exemple fleu
pour les jours fériés rouge pour les congé payes, vert pour les congé
evénements familiaux etc........

merci d'avence


Avatar
AV
Ave Isabelle,

Avec le grOs inconvénient de l'absence de recalcul si l'on change le format....
;-)

PS (pour le questionneur) : je pense qu'un calcul en fonction d'un format n'est
pas une bonne idée
AV
Avatar
isabelle
tu as raison AV, on pourrait forcer le calcul par

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Calculate
End Sub

mais ce n'est au moment ou la couleur change.

isabelle


Ave Isabelle,

Avec le grOs inconvénient de l'absence de recalcul si l'on change le format....
;-)

PS (pour le questionneur) : je pense qu'un calcul en fonction d'un format n'est
pas une bonne idée
AV


Avatar
francois
merci de vos reponses je vais éssayer la formule d'isabelle
pour le reste sa devient trop comproqué pour mois


"isabelle" a écrit dans le message de news:

tu as raison AV, on pourrait forcer le calcul par

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Calculate
End Sub

mais ce n'est au moment ou la couleur change.

isabelle


Ave Isabelle,

Avec le grOs inconvénient de l'absence de recalcul si l'on change le
format....


;-)

PS (pour le questionneur) : je pense qu'un calcul en fonction d'un
format n'est


pas une bonne idée
AV




Avatar
sabatier
pourtant, françois, ces plics ne sont pas difficiles à comprendre....
jps

francois wrote:


pour le reste sa devient trop comproqué pour mois

"isabelle" a écrit dans le message de news:

tu as raison AV, on pourrait forcer le calcul par

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Calculate
End Sub

mais ce n'est au moment ou la couleur change.

isabelle


Ave Isabelle,

Avec le grOs inconvénient de l'absence de recalcul si l'on change le
format....


;-)

PS (pour le questionneur) : je pense qu'un calcul en fonction d'un
format n'est


pas une bonne idée
AV






Avatar
francois
"sabatier" a écrit dans le message de news:

pourtant, françois, ces plics ne sont pas difficiles à comprendre....


pour quelqu'un qui a une notion dejà
mois je tatonne j'éssai de comprendre avec des exemples mais honnetement je
n'y arrive pas


jps

francois wrote:


pour le reste sa devient trop comproqué pour mois

"isabelle" a écrit dans le message de
news:



tu as raison AV, on pourrait forcer le calcul par

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Cells.Calculate
End Sub

mais ce n'est au moment ou la couleur change.

isabelle


Ave Isabelle,

Avec le grOs inconvénient de l'absence de recalcul si l'on change le
format....


;-)

PS (pour le questionneur) : je pense qu'un calcul en fonction d'un
format n'est


pas une bonne idée
AV









Avatar
francois
"isabelle" a écrit dans le message de news:

bonjour François,

il n'existe pas de formule dans excel pour faire cette somme, mais tu
peux créer ta propre fonction (formule) personnalisé.

à copier dans un module standard:

Function SommeCouleurText(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(i).Font.ColorIndex = couleur Then
SommeCouleurText = SommeCouleurText + plage(i)
End If
Next
End Function

'pour la description de cette fonction
'tu ouvres la boîte de dialogue "macro" Raccourci : Alt + F8
'tu inscrit le nom " SommeCouleurText " dans la section "Nom de la
macro" et tu cliques sur le bouton "Options"
'dans la fenêtre suivante, tu peux décrire dans la boîte
'"Description" les détails pour les numéros de couleur
'par exemple :
'Couleur
'3 rouge 4 vert
'5 bleu 6 jaune

la fonction SommeCouleurText sera disponible au menu,
Insertion, Fonction, catégorie Personnalisées

isabelle

j'ai éssayé de suivre vos conseils mais lorsque j'applique la macro dans la

célulle de calcul je recoi la valeur 0 au lieu de la somme des celules dont
le texte est rouge ( commande couleurtext valeur 3)

je vous recopi ci dessous la formule appliqué sur le module1

Sub sommecouleurtext()
'
' SommeCouleurText Macro
' Macro enregistrée le 13/11/2003 par rios francois
Function sommecolortext(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(1).Font.ColorIndex = couleur Then
sommecolortext = sommecouleurtex + plage(1)
End If
'couleur
'3 rouge
'4 bleu
'5 maorron
'6 vert
'7 jaune
'8 bleufoncé
Next
End Function

pouriez vous me dire ou j'ai commi l'érreur
merci

Avatar
isabelle
bonjour François,

il ne faut pas mettre la fonction à l'intérieur d'une macro Sub
sommecouleurtext()

mais seulement

Function SommeCouleurText(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(i).Font.ColorIndex = couleur Then
SommeCouleurText = SommeCouleurText + plage(i)
End If
Next
End Function

isabelle


"isabelle" a écrit dans le message de news:

bonjour François,

il n'existe pas de formule dans excel pour faire cette somme, mais tu
peux créer ta propre fonction (formule) personnalisé.

à copier dans un module standard:

Function SommeCouleurText(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(i).Font.ColorIndex = couleur Then
SommeCouleurText = SommeCouleurText + plage(i)
End If
Next
End Function

'pour la description de cette fonction
'tu ouvres la boîte de dialogue "macro" Raccourci : Alt + F8
'tu inscrit le nom " SommeCouleurText " dans la section "Nom de la
macro" et tu cliques sur le bouton "Options"
'dans la fenêtre suivante, tu peux décrire dans la boîte
'"Description" les détails pour les numéros de couleur
'par exemple :
'Couleur
'3 rouge 4 vert
'5 bleu 6 jaune

la fonction SommeCouleurText sera disponible au menu,
Insertion, Fonction, catégorie Personnalisées

isabelle

j'ai éssayé de suivre vos conseils mais lorsque j'applique la macro dans la

célulle de calcul je recoi la valeur 0 au lieu de la somme des celules dont
le texte est rouge ( commande couleurtext valeur 3)

je vous recopi ci dessous la formule appliqué sur le module1

Sub sommecouleurtext()
'
' SommeCouleurText Macro
' Macro enregistrée le 13/11/2003 par rios francois
Function sommecolortext(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(1).Font.ColorIndex = couleur Then
sommecolortext = sommecouleurtex + plage(1)
End If
'couleur
'3 rouge
'4 bleu
'5 maorron
'6 vert
'7 jaune
'8 bleufoncé
Next
End Function

pouriez vous me dire ou j'ai commi l'érreur
merci



Avatar
Papyty
Salut @ Tous, francois a écrit:


pouriez vous me dire ou j'ai commi l'érreur
merci


Isabelle n'étant pas là ;-))
la correction

Sub sommecouleurtext()
'
' SommeCouleurText Macro
' Macro enregistrée le 13/11/2003 par rios francois
Function sommecolortext(plage As Range, couleur As Integer)
For i = 1 To plage.Count
If plage(i).Font.ColorIndex = couleur Then
sommecolortext = sommecolortext + plage(i)
End If
'couleur
'3 rouge
'4 bleu
'5 maorron
'6 vert
'7 jaune
'8 bleufoncé
Next
End Function

Donc deux erreurs:
plage(i) au lieu de
plage(1)
sommecolortext = sommecolortext au lieu de
sommecolortext = sommecouleurtex

--
@+
Thierry

Avatar
Papyty
Salut @ Tous, isabelle a écrit:
bonjour François,

il ne faut pas mettre la fonction à l'intérieur d'une macro Sub
sommecouleurtext()


Désolé Isabelle je t'ai pas vu arrivé ;-))
Pour le sub je n'avais pas vu ;-)))
Le pire c'est que ça marche quand meme comme ça!!!!
Vas comprendre
--
@+
Thierry

1 2 3