OVH Cloud OVH Cloud

Date modification d'une cellule

10 réponses
Avatar
Maxime
Bonjour,

J'ai cherché dans les fonctions Excel et sur excelabo.net mais je n'ai pas
trouvé de solution à mon problème.

Description simplifiée de mon fichier Excel : la 1ère feuille contient des
données que je mets régulièrement à jour, une seconde feuille contient un TCD
affichant le nombre d'occurences de mes données par catégorie. Dans une autre
feuille j'ai créé un système d'alertes pour me signaler lorsque que le nombre
d'occurences pour chaque catégorie dépasse un nombre limite.

SI(nombre>limite;"attention blabla";"")

Maintenant je voudrais qu'une seconde case m'indique à quelle date et heure
la valeur de cette cellule à changer (le but étant de montrer qd l'alerte
s'est déclenchée). Et c'est là que je bloque car toutes mes cellules sont
dynamiques et je ne sais pas quoi utiliser à part les fonctions AUJOURD'HUI
ou MAINTENANT.

Je sais pas si c'est compliqué ou alors si c'est tout simple et que je
m'égare dans mes réflexions...

Merci bcp pour votre aide !

Maxime

10 réponses

Avatar
Maxime
Personne pour m'aider ?


Bonjour,

J'ai cherché dans les fonctions Excel et sur excelabo.net mais je n'ai pas
trouvé de solution à mon problème.

Description simplifiée de mon fichier Excel : la 1ère feuille contient des
données que je mets régulièrement à jour, une seconde feuille contient un TCD
affichant le nombre d'occurences de mes données par catégorie. Dans une autre
feuille j'ai créé un système d'alertes pour me signaler lorsque que le nombre
d'occurences pour chaque catégorie dépasse un nombre limite.

SI(nombre>limite;"attention blabla";"")

Maintenant je voudrais qu'une seconde case m'indique à quelle date et heure
la valeur de cette cellule à changer (le but étant de montrer qd l'alerte
s'est déclenchée). Et c'est là que je bloque car toutes mes cellules sont
dynamiques et je ne sais pas quoi utiliser à part les fonctions AUJOURD'HUI
ou MAINTENANT.

Je sais pas si c'est compliqué ou alors si c'est tout simple et que je
m'égare dans mes réflexions...

Merci bcp pour votre aide !

Maxime


Avatar
AV
En faisant simple .
En supposant que tu as en A1 la formule suivante
=SI(B1>100;"attention";"")
Pour récupérer en C1 la date et l'heure si la condition est remplie :
Dans le module de la feuille :

Private Sub Worksheet_Calculate()
If [A1] = "attention" Then [C1] = Now Else [C1] = ""
End Sub

AV
Avatar
Maxime
Merci pour ton aide mais rien ne s'affiche dans C1 :(
De toute facon il me faudrait une formule car j'ai près de 300 alertes


En faisant simple .
En supposant que tu as en A1 la formule suivante
=SI(B1>100;"attention";"")
Pour récupérer en C1 la date et l'heure si la condition est remplie :
Dans le module de la feuille :

Private Sub Worksheet_Calculate()
If [A1] = "attention" Then [C1] = Now Else [C1] = ""
End Sub

AV





Avatar
AV
Merci pour ton aide mais rien ne s'affiche dans C1 :(


Même en essayant ?
http://cjoint.com/?lqlbtri8ty

AV

Avatar
Maxime
OK sur ta feuille. Mais ca ne solutionne pas mon problème car B1 va continuer
d'augmenter et la date ne doit plus changer. Là la date correspond à ma
dernière maj, et non à la date ou mon alerte s'est déclenchée pour la 1ère
fois (si je change B1 de "200" à "300" la date change).
De plus il me faudrait une solution sous forme de fonction pour que je
puisse l'étendre sur mes 300 alertes.

Ralala, c'est la dernière chose dont j'ai besoin, tout le reste est prêt :(


Merci pour ton aide mais rien ne s'affiche dans C1 :(


Même en essayant ?
http://cjoint.com/?lqlbtri8ty

AV






Avatar
Maxime
En fait il faudrait une fonction qui prenne une cellule en argument, qui
regarde si la valeur de la cellule est OK ou NOK (mon alerte), et qui
retourne la date SEULEMENT si la cellule ou est appliquée la fonction était
vide (ou alors une autre valeur par défaut), sinon ca laisse l'ancienne
valeur. Maintenant je ne sais pas si c'est possible de faire ca...



OK sur ta feuille. Mais ca ne solutionne pas mon problème car B1 va continuer
d'augmenter et la date ne doit plus changer. Là la date correspond à ma
dernière maj, et non à la date ou mon alerte s'est déclenchée pour la 1ère
fois (si je change B1 de "200" à "300" la date change).
De plus il me faudrait une solution sous forme de fonction pour que je
puisse l'étendre sur mes 300 alertes.

Ralala, c'est la dernière chose dont j'ai besoin, tout le reste est prêt :(


Merci pour ton aide mais rien ne s'affiche dans C1 :(


Même en essayant ?
http://cjoint.com/?lqlbtri8ty

AV








Avatar
AV
OK sur ta feuille. Mais ca ne solutionne pas mon problème car B1 va continuer
d'augmenter et la date ne doit plus changer.


Dans la proc évènementielle, supprime la partie --> Else [C1] = ""

AV

Avatar
Maxime
Merci mais ce n'est pas ce que je veux, je ne suis sans doute pas assez
clair. Voici un exemple:

A1 contient un nombre qui augmente avec le temps, B1 est égal à "OK" si A1
est inférieur à 100, sinon "NOK" :
Jour A1 B1
13/11 20 OK
14/11 70 OK
15/11 110 NOK
16/11 150 NOK
17/11 200 NOK

Je veux que C1 contienne la date à laquelle B1 a changé de valeur (le 15/11
ici)

Jour A1 B1 C1
13/11 20 OK vide
14/11 70 OK vide
15/11 110 NOK 15/11
16/11 150 NOK 15/11
17/11 200 NOK 15/11



OK sur ta feuille. Mais ca ne solutionne pas mon problème car B1 va continuer
d'augmenter et la date ne doit plus changer.


Dans la proc évènementielle, supprime la partie --> Else [C1] = ""

AV






Avatar
AV
...... je ne suis sans doute pas assez clair.


Ca vient....
malgré encore quelques...

Un exemple là
http://cjoint.com/?lqpSX4s4AT

AV

Avatar
Maxime
Ce n'est pas un tableau mais une même ligne dont les valeurs évoluent avec le
temps.
De toute facon je me suis apercu que je serais bloqué après avec cette
méthode, donc après une après midi de réflexion j'ai trouvé un autre moyen
d'arriver à ce que je veux, au final ca marche nickel !
Je ne peux pas montrer mon fichier excel malheureusement car il fait presque
40Mo (40000 lignes de données et 1 TCD).

Merci bcp pour ta disponibilité AV !


...... je ne suis sans doute pas assez clair.


Ca vient....
malgré encore quelques...

Un exemple là
http://cjoint.com/?lqpSX4s4AT

AV