Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trouver la date du dernier Plein

12 réponses
Avatar
michir
Bonjour,
je souhaiterais un petit coup de main sur un probl=E8me =E0 priori assez si=
mple
Soit un classeur avec une feuille par mois (janvier =E0 d=E9cembre)
La colonne A indique tous les jours du mois en clair (ceux =E0 venir =E9gal=
ement)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essay=E9 des combinaisons de SI avec Max, Grande.Valeur...jusqu'=E0 pr=
=E9sent sans succ=E8s
Merci
Michel

10 réponses

1 2
Avatar
alainL
Le 24/10/2011 10:23, michir a écrit :
Bonjour,
je souhaiterais un petit coup de main sur un problème à priori assez simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir également)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à présent sans succès
Merci
Michel


J'ai peut-être pas bien compris mais en mettant ça dans une colonne C
=SI(B2="p";A2;C1)

--
AlainL

http://autourdalos.fr
Avatar
bcar
Bonjour,

de mon expérience tu ne peux pas, car les fonction recherche* et index
notamment ne sont pas compatible avec les fonction 3D (tu ne peux pas
écrire RechercheV("P";Feuil1:Feuil3!A1B1:A10B10;faux)

Donc tu vas être obligé de passer par une macro que tu écrira avec tes
petits doigts
du genre
for i = 0 to nombre de feuilles
parcours de la colonne contenant les P ou lecture d'une case qui
fait le boulot sur chaque feuille avec une rechercheV (pour l'écrire
rapidement la tu peux utiliser les fonctionnalités 3D) pour
déterminer ta date.
next i

une autre solution pas très élégante et un peu lourde à écrire et
maintenir est d'utiliser sierreur avec un truc du genre
sierreur(rechercheV(...;Feuil1:...;..);sierreur(rechercheV(...;Feuil2:...;..);...)

Jouable si tu as 2 ou 3 feuilles seulement

Le 24/10/2011 10:23, michir a écrit :
Bonjour,
je souhaiterais un petit coup de main sur un problème à priori assez simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir également)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à présent sans succès
Merci
Michel
Avatar
michir
Merci à vous deux, mais cela ne correspond pas tout à fait.
Je souhaite obtenir la dernière date qui correspond au dernier plein
Avec cette complication supplémentaire qu'il s'agit de raisonner sur 12 f euilles (une par mois)
Par ailleurs, je préférerais une formule plutôt qu'une routine
Je ne maîtrise peut être pas assez les fonctions de Recherche (est-elle compatible avec les formules 3D ?)
Avatar
Gloops
alainL a écrit, le 24/10/2011 10:45 :
Le 24/10/2011 10:23, michir a écrit :
Bonjour,
je souhaiterais un petit coup de main sur un problème à priori ass ez
simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir
également)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburan t
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à
présent sans succès
Merci
Michel


J'ai peut-être pas bien compris mais en mettant ça dans une colonne C
=SI(B2="p";A2;C1)




Sauf si j'ai mal suivi, ça me paraît effectivement plus élégant q u'une
macro (est-ce que c'est plus rapide, il faudrait vérifier).

A part qu'à la place de C1 j'aurais bien mis 0.

Et en C1, je mettrais bien MAX(C2, C36000)
(Je mets 36000 comme exemple, mais dans l'esprit c'est la dernière
cellule utilisée de la colonne C -le résultat est le même d'ailleur s, du
moment qu'on n'a pas plus de 36000 cellules utilisées en colonne C).

Si les dates en A sont classées dans l'ordre croissant et exprimées a u
format date (et non chaîne de caractères, sinon ce sera DateValue(A2) à
la place de A2), nous aurons en colonne C, la date de la colonne A si le
plein est indiqué en colonne B. Donc, en prenant la date la plus grande
(on dirait plutôt la plus tardive, pour une date ?), ça donnera en C1 le
dernier plein, non ?

Si il y a plusieurs feuilles il faut faire ça sur chacune, et ensuite
extraire le maximum des maxima (cellule C1) des différentes feuilles. J e
le ferais en citant les cellules maxima une par une en argument de la
fonction Max, mais c'est peut-être la version cancre, ça ?
Avatar
Gloops
Gloops a écrit, le 24/10/2011 11:45 :
Si les dates en A sont classées dans l'ordre croissant



Il se trouve que c'est le cas m'a-t-il semblé, mais de toute manière
l'ordre importe peu, puisque c'est le maximum qu'on retient au final.
Donc le plein le plus tardif, plutôt que cité en dernier. Et tant mie ux
si c'est le même, c'est plus simple :)
Avatar
DanielCo
Bonjour,
En colonne A tu n'as que le jour ou tu as la date ?
Cordialement.
Daniel


Bonjour,
je souhaiterais un petit coup de main sur un problème à priori assez simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir également)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à présent
sans succès Merci
Michel
Avatar
bcar
Relis ce que je t'ai écris, ce ne sont que des solutions possibles à ton
problème. Je ne cois pas (mais je peux me tromper) qu'en excel 2007 tu
puisse mixer les fonction de recherche et 3D donc soit tu code, soit tu
utilise 12 sierreur imbriqués...

Le 24/10/2011 11:17, michir a écrit :
Merci à vous deux, mais cela ne correspond pas tout à fait.
Je souhaite obtenir la dernière date qui correspond au dernier plein
Avec cette complication supplémentaire qu'il s'agit de raisonner sur 12 feuilles (une par mois)
Par ailleurs, je préférerais une formule plutôt qu'une routine
Je ne maîtrise peut être pas assez les fonctions de Recherche (est-elle compatible avec les formules 3D ?)
Avatar
michir
Bonjour Daniel et les autres...
J'ai la date complète, par exemple: lundi 24 octobre 2011 ou bien 40840 c omme tu veux
Avatar
LSteph
Bonjour,

avec morefunc voir le site de http://xcell05.free.fr/

=MAX((TAB3D(janvier:décembre!A2:A32)*(TAB3D(janvier:décembre!
B2:B32)="p")))

saisir en en matricielle Ctrl+maj+Entrée
{

Cordialement.

--
LSteph



On Oct 24, 10:23 am, michir wrote:
Bonjour,
je souhaiterais un petit coup de main sur un problème à priori assez simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir ég alement)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à présent sans succès
Merci
Michel
Avatar
MichD
Bonjour,

Si tu ne veux pas une fonction personnalisée à mettre dans un module standard,

A ) Sur chacune des feuilles, tu choisis la même cellule et tu insères une formule
qui va calculer la date la plus récente pour le dernier plein.

B ) Dans la cellule de ton choix où tu veux avoir le résultat pour l'ensemble des feuilles,
tu écris une formule de ce type : =MAX(janvier:Décembre!A20) avec l'adresse de la cellule de ton choix.

C ) Attention, il ne doit pas y avoir d'autres feuilles entre la feuille Janvier et Décembre et ces toutes les
feuilles doivent être situées entre ces 2 feuilles.


Avec une fonction personnalisée dans un module Standard : La formule est : =LePlein() dans la cellule de ton choix.
Attention, les noms des onglets des feuilles doivent être inscrits avec leur "accent"
'-----------------------------------
Function LePlein()
Dim A As Integer, LeMois As String
Dim T(), Ligne As Long
Application.Volatile
On Error Resume Next
For A = 1 To 12
LeMois = Format(DateSerial(2011, A, 1), "MMMM")
With Worksheets(A)
If Err = 0 Then
Ligne = .Range("B65536").End(xlUp).Row
If .Range("A" & Ligne) <> "" Then
ReDim Preserve T(1 To A)
T(A) = CLng(.Range("A" & Ligne))
End If
Else
Err.Clear
End If
End With
Next
LePlein = CDate(Application.Max(T))
End Function
'-----------------------------------


MichD
------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


Bonjour,
je souhaiterais un petit coup de main sur un problème à priori assez simple
Soit un classeur avec une feuille par mois (janvier à décembre)
La colonne A indique tous les jours du mois en clair (ceux à venir également)
La colonne B indique P lors de chaque plein de carburant
Je souhaite trouver la date correspondant au dernier plein de carburant
Le passage par une formule 3D me semble indispensable
J'ai essayé des combinaisons de SI avec Max, Grande.Valeur...jusqu'à présent sans succès
Merci
Michel
1 2