Formule excel
Résolu
Ttomax
Messages postés
64
Statut
Membre
-
Ttomax Messages postés 64 Statut Membre -
Ttomax Messages postés 64 Statut Membre -
Bonjour,
Je suis à la recherche d'une formule qui m'indiquerai un "X" dans les cases J20,J21,J24,J25 si E15=1.
D'avance merci, bonne soirée
Je suis à la recherche d'une formule qui m'indiquerai un "X" dans les cases J20,J21,J24,J25 si E15=1.
D'avance merci, bonne soirée
14 réponses
-
Bonsoir,
Pourquoi aucune formule ?
eric -
Salut,
La magie en informatique n'existe pas, il n'y a que deux possibilités pour y arriver par formule et par code VBA mais si déjà les formules te posent problème ne parlons pas de VBA et le problème est sans issue -
ok, à mettre dans le code de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [E15]) Is Nothing Then Exit Sub If [E15] = 1 Then [J21:J22,J24:J25] = "X" End Sub
eric
edit: correction de la plage -
oops petite précision, je ne souhaite aucune formules dans les cases J20,21,24,25 , cela rend plus difficile ^^ en tout cas pour moi !! ^^
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
en fait les cases J20,21,24,25 sont amenés à être effacé, voila pourquoi
-
je conais un peu VBA, mais dans ce cas, la feuille peut etre scrutée en continue pour que dès que e15 = 1, J21,22,24 et 25 passe à "X"
-
Re,
clic droit sur l'onglet de ta feuille/Visualiser le code
colle ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E15]) Is Nothing Then
If [E15] = 1 Then
[J21:J22] = "x"
[J24:J25] = "x"
End If
End If
End Sub
ou plus court
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E15]) Is Nothing Then
If [E15] = 1 Then [J21:J22,J24:J25] = "x"
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir. -
merci à vous deux ^^ continuez à faire la course lol
bon cependant ca marche po, j'ai testé les deux :(( -
Salut Eric,
Je jongle sur plusieurs discussions et il se fait tard je commence à ne plus avoir les yeux en face les trous
Bonne soirée je vais me mettre à 180°
Dans le code on pourrait ajouter l'annulation des x si la valeur en E15 est différente
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E15]) Is Nothing Then
If [E15] = 1 Then [J21:J22,J24:J25] = "x"
If [E15] <> 1 Then [J21:J22,J24:J25] = ""
End If
End Sub
-
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Union([A1], [A2], [A6], [A8])) Is Nothing Then Application.EnableEvents = False Target = "x" Application.EnableEvents = True End If End Sub
Un seul Sub Worksheet_Change par feuille, il faut tout mettre dans le même et tester les cellules concernées pour chaque petit bout de programme.
eric -
une petite question, pour le remplacement des valeur par X, ca marche par contre lorsque j'efface le contenu de mes cellules concernées, la formule suivante plante...
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union([A1], [A2], [A6], [A8])) Is Nothing Then
Application.EnableEvents = False
If Target <> "" Then Target = "x"
Application.EnableEvents = True
End If
End Sub -
C'est parce que tu fusionnes les cellules, ça devrait être prohibé, on arrive (presque) toujours à s'en passer.
C'est la plaie dans les macros, et même hors macro un simple copié-collé et te voilà emm...dé.
A réserver que pour les titres, et encore...
En attendant pour te dépanner :
If Target.Range("A1") <> "" Then Target = "x"
ça devrait le faire, mais évite vraiment la fusion pour tes tableaux.
Et plutôt que de lister toutes les cellules, regroupe-les par plage :
If Not Intersect(Target, Union([G11:K15], ...
eric -
re moi ^^ g un soucis,
je souhaite pareil une macro qui me surveille si en case A32 g "Pas de réglage",
d34,d35 i34,i35 et m34,35 pas à X
g tester plusiur chose par rapoprt a la macro de dessus mais sans succès.... -
Bonjour;
voici la formule:
=SI(E15=1;ET(J21;J22;J24;J25)="x";" ")