Formule excel

Résolu/Fermé
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 - 30 sept. 2011 à 21:35
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 - 3 oct. 2011 à 13:14
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



14 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
30 sept. 2011 à 22:00
Bonsoir,

Pourquoi aucune formule ?
eric
1
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
30 sept. 2011 à 22:11
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
1
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 30/09/2011 à 23:10
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
1
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 21:41
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 !! ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 22:10
en fait les cases J20,21,24,25 sont amenés à être effacé, voila pourquoi
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 22:15
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"
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 30/09/2011 à 23:06
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.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
30 sept. 2011 à 23:09
Tu traines mike, mais tu lis mieux que moi. J'ai inclus J23... ;-)
eric
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 23:15
merci à vous deux ^^ continuez à faire la course lol

bon cependant ca marche po, j'ai testé les deux :((
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
30 sept. 2011 à 23:18
si si, ça marche
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
30 sept. 2011 à 23:16
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
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 23:24
alors oui ca marche, seulement g oublié quelque chose, E15 est le résultat d'une formule
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 23:32
il y a quelque chose à rajouter dans la formule pour le fait que e15 dépend d'une formule?
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
30 sept. 2011 à 23:36
Ben oui, ce n'est pas un évènement interceptable.
Il faut se baser sur la (les) cellule(s) que tu saisis et qui crée une modification en E15
eric
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
30 sept. 2011 à 23:44
OK merci c'est bon ça marche, par contre pour insérer un X dans une cellule ou l'on rentre n'importe quelle valeur, c'est a dire en fait dès lors que l'on inscrit quelque chose dans la case A1,A2 A6 et A8, cela se transforme par un X, c possible sous vba
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
1 oct. 2011 à 00:04
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
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 00:19
cool, lorsque je rentre une valeur dans la case, cela me le remplace bien par un X mais par contre je ne peux plus le supprimer ^^
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
1 oct. 2011 à 00:21
Ben t'as voulu des x, tu en as ! ;-)
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

eric
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 00:26
lol oui j'en ai c sur, oops g ajouter ta nouvelle formule et c bon je peux effacer, mais g plus mes X :S
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 00:29
lol, nan c moi je l'ai remplacer, c bon !! ^^ un grand merci Maitre ^^ bonne fin de soirée
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 12:51
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
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 1/10/2011 à 13:13
Ce n'est pas une formule mais une macro en vba...
Chez moi ça marche bien et ça plante ne veut rien dire.
eric
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 13:17
OUI une macro!!, donc g "Erreur d'exécution "13" incompatibilité de type dans une fenêtre et lorsque je clic sur débogage "If Target <> "" Then" est surligner en jaune
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
1 oct. 2011 à 13:22
dépose un fichier exemple sur cijoint.fr et colle ici le lien fourni
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 13:33
voila http://www.cijoint.fr/cjlink.php?file=cj201110/cij4WrPZrZ.xls
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 13:38
g depose ma formule pour les case g11:L15
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
1 oct. 2011 à 13:53
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
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
1 oct. 2011 à 14:15
Impeccable chef ça marche!! cependant pour la présentation d'un tableau la fusion est pratique, maintenant il est vrai que ça pose de problème par moment ^^

Un grand merci en tout cas
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
3 oct. 2011 à 11:05
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....
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
3 oct. 2011 à 12:41
Bonjour,

Démarre une nouvelle question, je m'absente plusieurs jours...
N'oublie pas de mettre celle-ci en résolu.
eric
0
Ttomax Messages postés 60 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 26 juin 2012 1
3 oct. 2011 à 13:14
ok ca marche merci
0
smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
1 oct. 2011 à 13:37
Bonjour;
voici la formule:
=SI(E15=1;ET(J21;J22;J24;J25)="x";" ")
-4
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
1 oct. 2011 à 13:47
tu as le droit de tout lire avant de répondre...
eric
0