Statistiques sur excel

Résolu/Fermé
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 - 14 janv. 2014 à 12:00
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 - 24 janv. 2014 à 11:39
Bonjour,

Voilà, j'ai besoin de votre aide car je suis novice en excel, voire nulle... je l'avoue !
je cherche à faire des statistiques à partir d'un fichier excel existant.
Pour les statistiques 2013, j'aimerai me simplifier le travail.
Je travaille dans un hôpital, dans un CMP pour enfants plus précisément.
J'ai une fiche par enfant suivi (environ 500 enfants suivis), où je récapitule les actes (ou les RDV) que les enfants ont eu. J'aimerai en tirer plusieurs informations :

Ce qui me manque c'est quelques données statistiques, j'avais demandé de l'aide dans une conversation précédente mais ayant modifié un peu mes fiches patients, je ne parviens pas à adapter les formules, macros et autres vu que mon manque de connaissance en excel.

Voici le document en pièce jointe, à savoir qu'en réalité, j'ai environ 500 onglets personnalisés où l'on note des codes correspondant aux RDV que les enfants ont eu chez nous. Pour les actes, j'ai réussi à créer quelquechose (un tableau récapitulatif). J'ai pris soin d'anonymiser les fiches pour préserver la confidentialité de mes petits protégés.

https://www.cjoint.com/c/DAolOPQAHQ2

Ce qui me manque c'est :

1) une feuille de synthèse qui reprend une ligne par enfant avec différents items :
NOM (B1) PRENOM (E1) AGE (J1) SEXE (O1) si DECEDE (A3) 1er RDV (B15) COMMUNE D'HABITATION (F100)

genre :
DUPONT GERARD 01/01/2001 12 ANS MASCULIN 02/01/2010 PARIS

2) j'aimerai compléter ma feuille « récapitulatif » avec des données statistiques :

File active :
Anciens cas (grâce à la case 1er RDV B15, patient venu avant 2013)
Nouveaux cas (grâce à la case 1er RDV B15, premier RDV en 2013)


Répartition par sexe : (grâce à la case sexe O1)
Nombre de filles,
Nombre de garçons (grâce à la case sexe O1)

Répartition par âge : (grâce à la case J1)
Inférieur à 5 ans,
de 5 à 9 ans,
de 10 à 14 ans,
de 15 à 19 ans;
plus de 20 ans,

Nb d'enfants décédés (grâce à la case A3)



VIA55 m'avait gentiment aidée mais je ne parviens pas à adapter sa macro à mon nouveau modèle :

voici la macro

Sub complete()
nf = Worksheets.Count 'compte les feuilles du classeur

For n = 1 To nf - 1 ' boucle sur les feuilles

'anciens et nouveaux
dd = Sheets(n).Range("B26").Value
If Year(dd) < 2012 Then ancien = ancien + 1 Else nouveau = nouveau + 1

'sexe
sx = Sheets(n).Range("O1").Value
If sx = "M" Then garcon = garcon + 1 Else fille = fille + 1

'decedés (si quelque chose est inscrit en A3)
dc = Sheets(n).Range("A3").Value
If dc <> "" Then decede = decede + 1

'ages
dn = Sheets(n).Range("K1").Value
age = 2012 - Year(dn)
If age < 5 Then age1 = age1 + 1 Else If age < 10 Then age2 = age2 + 1 Else If age < 15 Then age3 = age3 + 1 Else If age < 20 Then age4 = age4 + 1 Else age5 = age5 + 1
Next n

'complete recapitulatif
With Sheets("RECAPITULATIF")
.Range("D26").Value = ancien
.Range("D27").Value = nouveau
.Range("D33").Value = fille
.Range("D34").Value = garcon
.Range("D35").Value = decede
.Range("D39").Value = age1
.Range("D40").Value = age2
.Range("D41").Value = age3
.Range("D42").Value = age4
.Range("D43").Value = age5

End With

End Sub



J'aimerai dans la mesure du possible, que la formule ou macro soit la même d'une année sur l'autre, et ne pas avoir à la modifier vu mon manque de connaissances sur excel.

Merci beaucoup par avance de ce que vous ferez pour m'aider.
Consciente que c'est un gros boulot que je vous demande.

Nany974






A voir également:

17 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 14/01/2014 à 14:07
Bonjour

et Bonjour aussi à VIA55 (excuse l'incruste) :o)

remplace les 2012 par Year(Date)

If Year(dd) < 2012 Then.... devient If Year(dd) < Year(Date) Then

age = 2012 - Year(dn) age = Year(Date)- Year(dn)
Michel
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
15 janv. 2014 à 10:06
Bonjour michel_m, nany974

En prenant l'exemple de michel_m, votre fichier modifie. L'onglet recapitulatif(2) est celui d'origine

dites si cela convient ou modif(s) a faire

https://www.cjoint.com/c/DApkdCZU0iC
1
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
15 janv. 2014 à 10:51
bonjour F894009,
Merci beaucoup ça fonctionne pas mal ce document, la seule ombre au tableau et qui est sur l'item "file active, anciens cas (vus avant 2013) et nouveaux cas (vus en 2013)". Tous les patients sont considérés comme anciens donc je pense qu'il y a un petit problème à ce niveau.
Merci beaucoup de m'aider, tout le reste est parfait.
Dernière requête : comment copier cette macro dans mon vrai document ?
Merci pour tout, vraiment !
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 15/01/2014 à 11:09
Re,

sur l'item "file active, anciens cas (vus avant 2013) et nouveaux cas (vus en 2013)" Ben, nous avons change d'annee, si vous lancez la macro, annee=2014 et annee-1=2013. Il faudrait peut-etre mettre l'annee dans une cellule (RECAP cellule B26 irait bien et modifier le code: https://www.cjoint.com/?DAplhEX7KRs pour faire vos stat debut d'annee pour l'annee precedente et penser a la changer au moment venu. A vous de voir

Pour copier la macro, selectionner toute la macro, copier et coller dans le module de votre fichier et supprimer l'ancienne

Dans vos onglets RCxxx, l'annee est ecrite a la main faudrait prevoir a un changement automatique avec le cellule RECAP B26

A+
1
Tout est parfait, le doc de ma collegue buggait, j'ai enfin trouvé pourquoi : elle n'utilisait pas le bon format de date pour les dates de naissance ou date de premier rdv.

Merci pour tout vraiment. Je suis heureuse d'avoir enfin qqchose qui fonctionne. MILLE MERCIS !!!!
Bcp de temps passé et c'est fructueux.

Bonne route
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 janv. 2014 à 08:32
Bonjour,

Service.

Bye
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
20 janv. 2014 à 15:53
Bonjour,

structure: If ....... Then

Il vous manque le Then parce que vous avez fait un <enter> apres le "<".


A+
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 20/01/2014 à 16:23
Re,

je laisse tomber, à chaque nouvelle manip, un nouveau problème... Non, pour remettre en ordre, il vous suffit de placer le curseur souris apres le "<" est d'appuye sur la touche supprime jusqu'a ce que la ligne du dessous vienne en bout de la ligne du curseur. Il faut un espace entre le "<" et le Then.
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
20 janv. 2014 à 16:34
Re,

votre fichier avec l'annee a changer sur onglet RECAPITULATIF cellule B23 et changement automatique sur les autres onglets. Ce changement dans les onglet est possible car j'ai remplace l'annee entree manuelle par une formule. Cette formule a ete ecrite par programme avec le code suivant qui est dans le Module1:

Sub annee_auto()
nf = Worksheets.Count
For n = 1 To nf 'boucle sur les feuilles
q = Sheets(n).Name
If Sheets(n).Name <> "RECAPITULATIF" Then
Sheets(n).Range("B3").FormulaLocal = "='RECAPITULATIF'!B26"
End If
Next n

Worksheets("recapitulatif").Activate
End Sub


fichier:

https://www.cjoint.com/?DAuqIEegEBb

A+
1
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
15 janv. 2014 à 09:20
michel, merci beaucoup, mais je n'y arrive pas... ben oui, je l'avais dit que je suis novice...
help please !!
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
16 janv. 2014 à 09:54
Bonjour,
Merci pour ces précisions, je n'ai pas réussi à le mettre en place, mais je vais demander à quelqu'un de m'aider à le faire.
Je ne manquerai pas de vous tenir informés.
Merci bcp.

Nany974
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
16 janv. 2014 à 19:55
Bonjour,

Pas de problème

A+
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
20 janv. 2014 à 15:48
Bonjour,

Comme ce que je craignais, je ne parviens pas à faire le changement de macro. De plus, j'ai ajouté les onglets de ma collègue du coup ça fiche le bazar.

Bref, j'aurai encore besoin de vos services pour mettre la macro comme il faut pour anciens (vus avant 2013) et nouveaux (vus en 2013)

Je vous mets une copie du message d'erreur que j'ai quand j'essaye d'exécuter la macro : cela vient-il du fait que j'ai ajouté les onglets de ma collègue ? Ou d'un autre problème ?


https://www.cjoint.com/?DAupM7WiDqJ

Merci d'avance de m'aider.
Très cordialement.
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
20 janv. 2014 à 16:11
je laisse tomber, à chaque nouvelle manip, un nouveau problème...
ouinnnnnnn
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
20 janv. 2014 à 16:24
super ça marche !!!
il me reste toujours mon problème ancien cas nouveau cas, tout se marque en anciens cas.
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
20 janv. 2014 à 16:25
merci f894009 pour cette patience
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
21 janv. 2014 à 14:10
Bonjour,

Tout a bien fonctionné pour mon doc mais quand j'essaye de le faire sur le doc de ma collègue, ça ne fonctionne pas.

Voici le message que j'ai, j'ai essayé de changer comme ci-dessus mais je n'y arrive pas, bien consciente que je suis un vrai boulet pour vous tous... j'aimerai tout de même essayer de finaliser tout ça... moralité, faut vraiment que je demande une formation excel.

https://www.cjoint.com/?DAvmHVQe1f9


Merci d'avance
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 janv. 2014 à 17:45
Bonjour,

enlevez le Then entre < et Annee.
0
nany974 Messages postés 53 Date d'inscription jeudi 28 février 2013 Statut Membre Dernière intervention 1 juillet 2022 16
24 janv. 2014 à 11:39
Bonjour,
J'ai enfin réussi à tout faire, ce qui buggait sur le doc de ma collègue c'est des dates non conformes...

MILLE MERCIS à F894009 pour sa patience, ses précisions et sa gentillesse.

Je vous remercie vraiment !!!

A bientôt !!
0