besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

vl31

XLDnaute Nouveau
Bonjour,

je joins le fichier excel, objet de mes questions avant tout, c'est plus facile
et si ce fichier peut intéresser quelqu'un (ok il est simpliste mais bon...)

j'explique....

je voudrais compter le nombre de séances effectuées par une personne.
donc obtenir le nombre d’occurrences d'un nom prénom....

exemple (cf fichier joint)
Henry nadine est venu 7 demi-journées à la date du 6 Janvier MATIN.
actuellement, j'en suis arrivée à "bricoler" une formulation du genre
=NB.SI(A1:K14;INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))
cf cellule F3

le pb est que aller jusqu'à K14 c'est pas bon, puisque ça me compte aussi la venue de cette personne le même jour mais l'après midi (le comptage doit se faire par demi-journée).
je ne sais pas comment indiquer que la recherche doit se faire de A1 à J14 et aussi de K1 à K3 (K3 étant la cellule à gauche de la cellule dans laquelle le comptage est réalisé)

et l'autre défaut, c'est qu'avec cette formule, je vais devoir écrire TOUTES les cellules de comptage puisque je n'ai pas encore compris comment remplacer le K14 par quelque chose de générique qui indique la ref de la cellule courante (adresse renvoie la ref mais sous forme de texte)

en me relisant, je suis pas sure d'être sir claire que ça dans mes explications, mais en regardant le fichier Excel, ça devrait le faire.
Si vous pouviez me dire....
si il y a des pistes à explorer avec les fonctions Excel
et si faut passer à du vba.... là, il me faut un(e) guide, suis un peu légère question programmation.

une bouteille à la mer,
merci à qui prendra sur son temps pour m'apporter son aide.
 

Pièces jointes

  • Planning ateliers 2014.xlsx
    118.4 KB · Affichages: 218

ROGER2327

XLDnaute Barbatruc
Re : besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

Bonjour vl31.


Pas certain d'avoir tout compris, mais un essai tout de même...​


Bonne journée.


ℝOGER2327
#6986


Jeudi 19 As 141 (Saint Courtial des Péreires, aérostier et inventeur - fête Suprême Quarte)
1[SUP]er[/SUP] Frimaire An CCXXII, 0,6334h - raiponse
2013-W47-4T01:31:13Z
 

Pièces jointes

  • Copie de Planning ateliers 2014.xlsx
    120.2 KB · Affichages: 66

vl31

XLDnaute Nouveau
Re : besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

merci!
punaise, suis limite vexée, j'aurais du y penser à faire ça....bref

le truc c'est que je me demandais si, tant qu'on y est, il serait possible, plutôt que d'avoir à copier/coller la formule dans les autres colonnes de comptage, on pourrait "déduire" les plages de cellules à parcourir.....
donc, avec ligne() et colonne(), je récupère la ref de la cellule dans laquelle le calcul est effectué, mais adresse() renvoie l'info sous forme de texte, du coup, je récupère le contenu avec indirect mais comment est ce possible de remplacer les ref des plages écrites en dur par une ref de plage de cellule dynamique (déduite à partit de la ref de ccellule de comptage.
Est ce que je suis claire là?
J'ai mis en gras les infos qui pourraient être "calculées".
Le problème auquel je me heurte c'est que je récupère des références au format texte, pas des références.
J'ai surligné et mis en gras les infos que je pensais pouvoir calculer dynamiquement.

NB.SI(A1:K14;INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))+NB.SI(L1:L8;INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))

en tout cas, et dors et déjà merci "ROGER2327"
je pense que je suis proche du but avec votre aide.
 

JBOBO

XLDnaute Accro
Re : besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

Bonjour à tous,

Sous reserve d'avoir compris la question, à tester en L3 ou ailleurs :
=NB.SI(INDIRECT("$A$1:"&ADRESSE(14;COLONNE()-2));INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))+NB.SI(INDIRECT(ADRESSE(1;COLONNE()-1)&":"&ADRESSE(LIGNE();COLONNE()-1));INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))
 

vl31

XLDnaute Nouveau
Re : besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

ah oui, j'ai oublié....
il a fallu que j'encapsule le calcul dans une fonction SI qui n'effectue ce comptage que si la cellule désignée par INDIRECT contient un nom en utilisant NB.VIDE pour le vérifier.
=SI(NB.VIDE(INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))=1;"";NB.SI($A$1:A$14;INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))+NB.SI(B$1:B1;INDIRECT(ADRESSE(LIGNE();COLONNE()-1))))
 

vl31

XLDnaute Nouveau
Re : besoin de l'aide d'experts - solution excel ou vba?? comptabiliser des infos

yes!!!

ca fait deux fois que je regarde l'évaluation pas à pas de la formule pour être sure de comprendre mais ça marche.
à ceci prêt que je dois, comme je l'ai précisé dans la réponse à l'autre proposition, encapsuler tout ça dans un SI(NB.VIDE pour vérifier que la valeur de la cellule dont je recherche le nombre d’occurrences n'est pas vide.
sinon, le résultat est le nombre de cellules "nom" vides

=SI(NB.VIDE(INDIRECT(ADRESSE(LIGNE();COLONNE()-1)));"";NB.SI(INDIRECT("$A$1:"&ADRESSE(14;COLONNE()-2));INDIRECT(ADRESSE(LIGNE();COLONNE()-1)))+NB.SI(INDIRECT(ADRESSE(1;COLONNE()-1)&":"&ADRESSE(LIGNE();COLONNE()-1));INDIRECT(ADRESSE(LIGNE();COLONNE()-1))))

je vais tester un peu avec des cas tordus (enfin, des cas qui peuvent se produire parfois) mais là, je dis un grand merçi.
Je pensais que c'était faisable sans passer par vba mais j'y arrivais pas. cool!!!

je renvois le fichier avec la formule des que j'aurai rempli toutes les colonnes de comptage.
Des fois que ça intéresse quelqu'un.

MERCI!!!
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16