Nb.si...

manucau

XLDnaute Nouveau
Bonjour les experts,

je pêche depuis un bon moment à la recherche d'une formule simple de calcul conditionnel.

Il s'agit d'un classeur de planning, dont chaque jour est représenté sur 2 lignes (services des matin & après-midi par exemple)


__D___________E
4 08H00-12H00 4.00
5 14H00-18H00 4.00

6 08H00-16H00 8.00
7 20H00-23H00 3.00

8 04H00-09H00 5.00
9 15H00-20H00 5.00


En fin de colonne E, j'aimerai totaliser le nombre de jours où l'employé a atteint ou dépassé 10H de service journalier, ce total représenterait le nombre de primes panier.

Et bien évidemment sans changer le format de ma feuille.

J'ai l'impression qu'une formule simple est possible, mais comme j'ai l'esprit tordu sur ce coup là...

En vous remerciant de l'intérêt que vous porterez à ma requête.
 
Dernière édition:

manucau

XLDnaute Nouveau
Re : Nb.si...

Bonsoir,
tu parles de jours mais ils n'apparaissent pas dans ton ex. S'agit-il de dates, de jour de semaine,...?
Le mieux serait que tu joignes un fichier où tu expliques ce que tu attends précisément.
Cordialement

Merci de l'intérêt que tu portes à mon fil.

Mon classeur comportant des données que je veux garder confidentielles, je joins un exemple.
 

Pièces jointes

  • panier.xls
    18.5 KB · Affichages: 56
  • panier.xls
    18.5 KB · Affichages: 57
  • panier.xls
    18.5 KB · Affichages: 58

Jocelyn

XLDnaute Barbatruc
Re : Nb.si...

Bonjour le Forum,
Bonjour manucau, david84,

je suppose que dans ta page tu as par exemple en colonne A la date, donc une explication en considérant la date en colonne A et le nombre dheures réalisées en colonne B :

la formule serait :

=SOMME(SI(SOMME.SI(A1:A6;A1:A6;B1:B6)>=10;0,5))

c'est une formule matricielle il faut la valider en appuyant simultanément sur les touches CTRL, Majuscule (au dessus de CTRL) et entrée.

si la formule est bien validée les signes { et } vont apparaitre devant le signe égal et à la fin de la formule

Meilleurs Voeux 2010

Jocelyn
 

manucau

XLDnaute Nouveau
Re : Nb.si...

Bonjour le Forum,
Bonjour manucau, david84,

je suppose que dans ta page tu as par exemple en colonne A la date, donc une explication en considérant la date en colonne A et le nombre dheures réalisées en colonne B :

la formule serait :

=SOMME(SI(SOMME.SI(A1:A6;A1:A6;B1:B6)>=10;0,5))

c'est une formule matricielle il faut la valider en appuyant simultanément sur les touches CTRL, Majuscule (au dessus de CTRL) et entrée.

si la formule est bien validée les signes { et } vont apparaitre devant le signe égal et à la fin de la formule

Meilleurs Voeux 2010

Jocelyn

Merci pour ton aide, malheureusement cela ne fonctionne pas car les formules matricielles ne s'appliquent pas à des cellules fusionnées...
 

Jocelyn

XLDnaute Barbatruc
Re : Nb.si...

re,

Suivant ton fichier exemple je ne vois une solution qu'en modifiant la colonne A de ton exemple comme dans le fichier joint

les cellule fusionnée sont vraiment pas de bonnes choses

Jocelyn
 

Pièces jointes

  • panier(1).xls
    19 KB · Affichages: 56
  • panier(1).xls
    19 KB · Affichages: 56
  • panier(1).xls
    19 KB · Affichages: 58

Jocelyn

XLDnaute Barbatruc
Re : Nb.si...

re

Revoila le fichier en laissant les cellule fusionnées, mais attention en employer lundi, mardi,....

ces jour seront repris de semaine en semaine et la formule ne fonctionnera plus si on as dans une même plage 2 lundi car elle ajoutera les valeur des 2 lundi

Jocelyn
 

Pièces jointes

  • panier(1).xls
    19.5 KB · Affichages: 54
  • panier(1).xls
    19.5 KB · Affichages: 48
  • panier(1).xls
    19.5 KB · Affichages: 55

manucau

XLDnaute Nouveau
Re : Nb.si...

re

Revoila le fichier en laissant les cellule fusionnées, mais attention en employer lundi, mardi,....

ces jour seront repris de semaine en semaine et la formule ne fonctionnera plus si on as dans une même plage 2 lundi car elle ajoutera les valeur des 2 lundi

Jocelyn

ça a l'air de fonctionner avec cette dernière version.
Je vais essayer de l'intégrer à mon classeur et surtout de décortiquer cette formule.
En tous les cas grand merci, je te tiens au courant..
 

manucau

XLDnaute Nouveau
Re : Nb.si...

ça a l'air de fonctionner avec cette dernière version.
Je vais essayer de l'intégrer à mon classeur et surtout de décortiquer cette formule.
En tous les cas grand merci, je te tiens au courant..

Bon toujours un problème de cellules fusionnées dans mon classeur, pourtant le format a l'air identique, ça c'est un premier point sans gravité.

En revanche, je n'ai pas bien saisi la logique de la formule (c'est la première fois que j'utilise SOMME.SI) mais là où ça me bloque c'est l'utilité de 0.5. Est-ce du à la formule matricielle ?
 

manucau

XLDnaute Nouveau
Re : Nb.si...

Suite...
Bon je viens de retester ta dernière version, et en augmentant l'heure de fin du premier jour pour dépasser 10H, cela ne fonctionne pas.

Je précise que la formule doit agir sur les 2 cellules journalières des heures effectuées (et pas individuellement).
 

manucau

XLDnaute Nouveau
Re : Nb.si...

Bonjour à tous,


finalement, après bien des années de pause en VBA, je viens de coder en quelques minutes les lignes suivantes, qui ma foi ont l'air de me donner le résultat escompté :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Calcul du nombre de prime panier applicable par personnel

Dim panier As Integer
Dim ligne As Integer
Dim col As Integer

For col = 5 To 10 Step 2 'Scan colonne par pas de 2

For ligne = 6 To 13 Step 2 'Scan ligne par pas de 2

If Cells(ligne, col).Value + Cells(ligne + 1, col).Value >= 10 Then panier = panier + 1
Cells(17, col).Value = panier

Next ' Fin du scan des lignes

panier = 0 'Compteur panier à 0 pour colonne suivante

Next 'Fin du scan des colonnes

End Sub

Au début je voulais créer une fonction, mais je ne savais pas comment j'allais la ficeler. Je reste sur ce bout de code qui me convient parfaitement.

@ bientôt sur le forum
 

Statistiques des forums

Discussions
312 305
Messages
2 087 072
Membres
103 455
dernier inscrit
saramachado