Formule excel

Résolu
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   7 275
 
Bonsoir,

Pourquoi aucune formule ?
eric
1
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
en fait les cases J20,21,24,25 sont amenés à être effacé, voila pourquoi
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Contributeur Dernière intervention   7 275
 
Tu traines mike, mais tu lis mieux que moi. J'ai inclus J23... ;-)
eric
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
si si, ça marche
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
dépose un fichier exemple sur cijoint.fr et colle ici le lien fourni
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
voila http://www.cijoint.fr/cjlink.php?file=cj201110/cij4WrPZrZ.xls
0
Ttomax Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   1
 
g depose ma formule pour les case g11:L15
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
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   Statut Contributeur Dernière intervention   7 275
 
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   Statut Membre Dernière intervention   1
 
ok ca marche merci
0
smartway14 Messages postés 822 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour;
voici la formule:
=SI(E15=1;ET(J21;J22;J24;J25)="x";" ")
-4
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
tu as le droit de tout lire avant de répondre...
eric
0