Calcul sous excel

Signaler
Messages postés
6
Date d'inscription
dimanche 2 octobre 2011
Statut
Membre
Dernière intervention
3 janvier 2012
-
Messages postés
6
Date d'inscription
dimanche 2 octobre 2011
Statut
Membre
Dernière intervention
3 janvier 2012
-
Bonjour à tous. Je débute en programmation excel et je cherche à faire le programme suivant:
le but du programme est de calculer automatiquement la somme des heures de travail de Paul et de Pierre sur une semaine.
Ils font des matinées ou des aprèsmidi; en sachant qu'une matinée vaut 4 heures et une aprem vaut 6 heures.
Je pensais donc faire une feuille excel appellée semaine 1, avec en premiere ligne les jours de la semaine , la deuxiéme ligne pour les matins et la troisième ligne pour les apresmidi.
Je voudrais que lorsque l'on écrive Pierre dans une case de la ligne matin la variable Pierre s'incrémente de 4 et que lorsque l'on écrive Pierre dans la ligne apresmidi elle s'incrémente de 6, idem pour Paul.
Pourriez vous m'aider SVP.
Merci.....

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

Qu'as-tu commencé à faire ?

Ligne 1 : Jours de la semaine (sans importance pour le calcul)
Ligne 2 : Matins
Ligne 3 : Après midi

En supposant que :
Ligne 5, colonne 1 : Le nom "Pierre"
Ligne 5, colonne 2 : Total des heures de Pierre
Ligne 6, colonne 1 : Le nom "Paul"
Ligne 6, colonne 2 : Total des heures de Paul
etc

Impératif : Il faudra absolument que seuls les noms des colonnes 1 des lignes 5 et suivants existent dans les lignes du planning. Si le nom de Jacques apparait dans le planning, il ne sera pas comptabilisé.

Il te faut :

# Parcourir les cellules de la ligne 5 et suivantes :
A faire :
- Une boucle qui lira chaque ligne à partir de 5 jusqu'à trouver une ligne vide.
La recherche de cellule vide est un grand classique des questions du forum et peut aussi se trouvé en enregistrant une macro pendant que tu cliques sur la première cellule d'une colonne puis que tu tapes Ctrl-Fin (ou Ctrl-Flèche_bas, je ne sais plus)
Quant à la boucle : voir For-Next
- Dans cette boucle, tu pourra récupérer le nom de la personne en colonne 1 (voir Range) et tu sauras pointer vers la cellule voisine pour y stocker le résultat (Voir Range.Offset)

# Parcourir la ligne 2 à la recherche du nom de la personne pointée par la première boucle.
Là aussi, suffit de faire une boucle For-Next et de travailler avec Range, voire Range.Offset.
A chaque passage de cette seconde boucle, tu pointeras sur une des cellules de la ligne des matins : Suffit de faire un If pour savoir si le nom inscrit correspond à celui recherché et dans ce cas, incrémenter le compteur de 4.

# Parcourir la ligne 3 à la recherche du nom de la personne pointée par la première boucle.
Exactement le même code qu'au dessus, sauf le n° de ligne et la quantité à incrémenter, 6 à la place de 4.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
je ne suis pas intervenu jusqu'à présent à cause de ce que je souligne ici :
Je voudrais que lorsque l'on écrive Pierre dans une case de la ligne matin la variable Pierre s'incrémente de 4 et que lorsque l'on écrive Pierre dans la ligne apresmidi elle s'incrémente de 6, idem pour Paul.

Que motais veuille bien se demander la raison de ma réaction
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Re

Il y a aussi une solution beaucoup plus simple :
Tu tapes "compter" dans la zone d'aide située en haut à droite de ta feuille (sur la ligne du menu) et tu auras l'aide pour "compter les occurrences de valeurs ..." qui t’amènera à la fonction NB.SI
Cette fonction renvoie le nombre de fois qu'un texte existe.
Suffira donc de multiplier par le bon chiffre.

Tu n'as pas dû beaucoup chercher ...
Messages postés
6
Date d'inscription
dimanche 2 octobre 2011
Statut
Membre
Dernière intervention
3 janvier 2012

Encore merci beaucoup Jack, cette fonction NB.SI est parfaite et simple.
Merci.