Bonjour
J'ai un problème que je n'arrive pas à résoudre
1 - Il s'agit d'un fichier Exel (2011 Mac) qui doit suivre l'évolution du poids d'une personne sur l'année.
2 - Dans la colonne "B" on note le poids.
3 - dans la colonne "C" je désire obtenir le calcul du poids perdu chaque jour, ainsi que des récapitulatifs en "C36,38,40".
Dans la colonne C, quand toutes les cellules de la plage B2;32 sont remplies, la formule {=SI(B2="";"";SI(B3="";"";(B3-B2)*1000))} fonctionne parfaitement. Mais mon problème apparait quand certaines cellules de la colonne B sont vides.
Avec la formule {=SI(B18="";"";(B18-RECHERCHE(9^9;B:B))*1000) Exel remonte jusqu'à la cellule non vide pour faire le calcul et cela semble fonctionner pour B18. Mais cette formule ne fonctionne plus lorsque Exel arrive en C10 (voir le fichier d'exemple, onglet "mai")
Je n'arrive pas à trouver une formule qui fonctionne avec toutes les cellules non vide ET avec certaines cellules vides dans la colonne B. D'autant plus qu'il faut faire la liaison entre le dernier jour d'un mois quelconque et le premier jour du mois suivant.
Et pour conclure, je pense que C40 sera juste quand C36 le sera aussi. Mais auriez une idée plus simple que la mienne pour les calculs ?
Merci pour votre aide.
Je vous joint le fichier - L'exemple ce trouve sur la feuille du mois de mai.
J'ai cherché sur le net, j'ai essayé de nombreuses formules, mais je n'y arrive pas.
RECHERCHE(9^9;B:B)
Range("B32").End(xlUp).Select
ActiveCell.End(xlUp).Select
MsgBox ActiveCell.End(xlUp).Value
=(RECHERCHE(9^9;Z$2:Z6)+Z$2)
=INDIRECT("B"&MAX(SI(ESTVIDE(plage_voulue);0;LIGNE(plage_voulue))))}
=DECALER(B$1;MAX((B$1:A$201<>"")*LIGNE($1:$32))-1
Exemple de formule qui renvoie la dernière valeur numérique de la ligne 1
=RECHERCHE(9^9;1:1)
Pour le dernier texte, ça sera :
=RECHERCHE("zz";1:1)
Exemple de formule qui renvoie la dernière valeur numérique de la Colonne A
=RECHERCHE(9^9;A:A)
Pour le dernier texte, ça sera :
=RECHERCHE("zz";A:A)
J'ai essayé de transposer, sans succès, la fomule : =INDIRECT("L"&LIGNE(zone_ligne)&"C"&MIN(SI(ESTVIDE(zone_ligne);257;
COLONNE(zone_ligne)));FAUX)
J'ai un problème que je n'arrive pas à résoudre
1 - Il s'agit d'un fichier Exel (2011 Mac) qui doit suivre l'évolution du poids d'une personne sur l'année.
2 - Dans la colonne "B" on note le poids.
3 - dans la colonne "C" je désire obtenir le calcul du poids perdu chaque jour, ainsi que des récapitulatifs en "C36,38,40".
Dans la colonne C, quand toutes les cellules de la plage B2;32 sont remplies, la formule {=SI(B2="";"";SI(B3="";"";(B3-B2)*1000))} fonctionne parfaitement. Mais mon problème apparait quand certaines cellules de la colonne B sont vides.
Avec la formule {=SI(B18="";"";(B18-RECHERCHE(9^9;B:B))*1000) Exel remonte jusqu'à la cellule non vide pour faire le calcul et cela semble fonctionner pour B18. Mais cette formule ne fonctionne plus lorsque Exel arrive en C10 (voir le fichier d'exemple, onglet "mai")
Je n'arrive pas à trouver une formule qui fonctionne avec toutes les cellules non vide ET avec certaines cellules vides dans la colonne B. D'autant plus qu'il faut faire la liaison entre le dernier jour d'un mois quelconque et le premier jour du mois suivant.
Et pour conclure, je pense que C40 sera juste quand C36 le sera aussi. Mais auriez une idée plus simple que la mienne pour les calculs ?
Merci pour votre aide.
Je vous joint le fichier - L'exemple ce trouve sur la feuille du mois de mai.
J'ai cherché sur le net, j'ai essayé de nombreuses formules, mais je n'y arrive pas.
RECHERCHE(9^9;B:B)
Range("B32").End(xlUp).Select
ActiveCell.End(xlUp).Select
MsgBox ActiveCell.End(xlUp).Value
=(RECHERCHE(9^9;Z$2:Z6)+Z$2)
=INDIRECT("B"&MAX(SI(ESTVIDE(plage_voulue);0;LIGNE(plage_voulue))))}
=DECALER(B$1;MAX((B$1:A$201<>"")*LIGNE($1:$32))-1
Exemple de formule qui renvoie la dernière valeur numérique de la ligne 1
=RECHERCHE(9^9;1:1)
Pour le dernier texte, ça sera :
=RECHERCHE("zz";1:1)
Exemple de formule qui renvoie la dernière valeur numérique de la Colonne A
=RECHERCHE(9^9;A:A)
Pour le dernier texte, ça sera :
=RECHERCHE("zz";A:A)
J'ai essayé de transposer, sans succès, la fomule : =INDIRECT("L"&LIGNE(zone_ligne)&"C"&MIN(SI(ESTVIDE(zone_ligne);257;
COLONNE(zone_ligne)));FAUX)
Pièces jointes
Dernière édition: