Graphiques un peu complexe

Suite à une question d'une lectrice qui veut représenter les données suivantes:

Soins de prévention d'hygiène 45%
- toilette: 30%
- Pansements: 15%
Soins infirmiers: 40%
- perfusions/injections:20%
- lavages/sondes: 20%
Autres soins: 15%

A priori, ca semble simple, mais en fait, j'ai eu quelques difficultés ! je suis aussi peut être un peu fatigué!

Je vous propose une solution en vidéo ci-dessous.

Si vous avez mieux, n'hésitez pas ! Je suis sur qu'il y a d'autres méthodes !

 

A bientôt

Gaetan

Souvenirs de formules matricielles...

C'était il y a 11 ans...voici la question de Louis (LG):
--------------------
j'ai un tableau :

A B C D
1 15 20 22 25
2 18 18 19
3 16 17

Mon but est de faire la somme des cellules vides en considérant que leur
valeur est égale à la dernière valeur de la ligne.
(soit 19 pour la ligne 2 + 2 fois 17 pour la ligne 3 = 34)

Sur chaque ligne, j'ai fait en colonne Ex
=SI(Dx="";(MAX(Ax:Dx)*NB.VIDE(Ax:Dx);0) (x =numéro de ligne)
Ensuite je fais la somme des valeurs trouvées.

Ca marche mais j'aimerais pouvoir écrire une seule formule matricielle dans
une cellule unique.

j'ai essayé {=SOMME(SI(D1:D3="";(MAX(A1:D3)*NB.VIDE(A1:D3));0))}
mais ça ne marche pas. Très logiquement d'ailleurs la valeur MAX est celle
de la plage A1:D3 soit 19.

Comment faire pour avoir les valeurs qui correspondent à chaque ligne ??
Une autre solution qu'une formule matricielle ?

Merci d'avance
--------------------------
Et ma réponse qui permet de gérer un tableau dynamique plus important
--------------------------
Bonjour,

Encore un petit développement pour terminer le problème !

Pour gérer plus facilement les 1000 lignes :

=SOMME(NB.SI((DECALER(A1;LIGNE(INDIRECT("1:"&LIGNES(A1:A3)))-1;0;1;4));"")*S
OMME.SI(DECALER(A1;LIGNE(INDIRECT("1:"&LIGNES(A1:A3)))-1;NB.SI(DECALER(A1;LI
GNE(INDIRECT("1:"&LIGNES(A1:A3)))-1;;1;4);"<>")-1;1;1);"<>"))

et pour un ajustement dynamique :
Après avoir défini "plage" comme nom dynamique avec la formule
=DECALER(DBM!$A$1;0;0;NBVAL(DBM!$A:$A))

=SOMME(NB.SI((DECALER(A1;LIGNE(INDIRECT("1:"&LIGNES(plage)))-1;0;1;4));"")*S
OMME.SI(DECALER(A1;LIGNE(INDIRECT("1:"&LIGNES(plage)))-1;NB.SI(DECALER(A1;LI
GNE(INDIRECT("1:"&LIGNES(plage)))-1;;1;4);"<>")-1;1;1);"<>"))

Je tiens évidemment à remercier L.Longre pour les nombreuses indications
qu'il a donnée par le passé et qui m'ont permis de construire ces formules
en moins d'une après-midi 😉

Bonne année à tout le monde

--
Gaetan Mourmant
www.polykromy.com

Changer le nom de la feuille avec un menu déroulant

Si vous utilisez des menus déroulants pour modifier des tableaux de données, vous pouvez vouloir renommer la feuille sur laquelle vous travaillez.

Voici un exemple de macro qui permet d'arriver à ce résultat :

Le code de la macro est le suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("choix_villes").Address Then
Me.Name = Range("choix_villes").Value
End If
End Sub

A bientôt

Gaetan