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 -
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 ?
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 ?
A voir également:
- Excel effacer contenu cellule sous condition
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Aller à la ligne dans une cellule excel - Guide
3 réponses
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
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
Re
Macro à mettre dans le Worksheet de la feuille7 services tech :
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
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
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
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
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...