Effacer une cellule en fonction du contenu d'une autre

ninie_21_3 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
ninie_21_3 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Mon fichier excel dispose de nombreuses cellules et formules donc certaines ont largement été créé par des membres de ce forum (que je remercie vivement!).

A l'heure actuelle, 3 choses se passent automatiquement :
- dans un onglet je dis par ex en cellule B2 = "a vérifier"
- dans ce cas, la cellule C3 passe en rouge
- et alors la cellule C4 donne accès à une liste déroulante (jusque là vierge) grâce à une validation des donnée "INDIRECTC3" et je peux choisir entre "à changer" ou "en cours de réparation"

Tout cela fonctionne très bien.

Le problème c'est que si jamais je supprime ou change l'état de la cellule B2, autant ma cellule C3 redevient blanche autant ma cellule C4 ne redevient pas vierge et ça fausse tout...

Comment puis-je faire ?

3 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Pour l'instant sans voir le fichier je vois déjà 2 possibilités :

1) Faire une macro qui efface la donnée en C4 lorsque B2 change

2) rajouter une cellule avec liste de choix indiquant l'état final : soit rien tant que ce n'est pas réglé, soit "changé" soit "réparé"
cette dernière à l'avantage de garder trace de ce qui a été fait, la cellule C4 reste avec ce qui été à faire, "à réparer" par ex, et la seconde cellule indique que cela a été fait : "réparé"

Cdlmnt
0
ninie_21_3 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Voici le document en question : https://www.cjoint.com/?3Jjn7pDrhYk

comme vous pourrez le constater, ma 1ère présentation l'avait largement simplifié.

En gros, dans l'onglet "services Tech", toutes les lignes impaires (B5, C5, etc.) devraient se mettre à zéro si la case du dessus n'est pas en rouge. J'ai essayé de faire une formule mais ça fait tout planter et je n'arrive pas à créer une macro acceptable.

Je ne veux pas d'historique donc inutile d'alourdir avec une case en plus.

Merci pour vos idées, je bloque totalement...
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Re

Macro à mettre dans le Worksheet de la feuille7 services tech :
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.Row
y = Target.Column
' si colonne 1 ou ligne impaire sortie
If y = 1 Or x Mod 2 <> 0 Then Exit Sub
'sinon effacement ligne en dessous
Cells(x + 1, y) = ""
End Sub


A chaque modification dans une ligne paire à partir de la colonne B on efface la ligne en dessous
x Mod 2 renvoie le reste de la division de x (le n° ligne) par 2 si c'est 0 c'est que x pair sinon x est impair (dans ce cas x Mod 2 <>0 on sort de la sub sans effacer)

Cdlmnt
0
ninie_21_3 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour votre idée. Je pense effectivement que c'est un bon moyen mais ça ne marche pas...

Qu'ai-je fait de mal ?

https://www.cjoint.com/?3JkkP1m0U9o

Merci d'avance
0