Choix liste déroulante ou formule dans cellule

Fermé
Fanny - 31 juil. 2014 à 16:18
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 4 août 2014 à 12:49
Bonjour,

J'ai actuellement une cellule avec une formule tout simple =SI
Dans cette cellule j'ai fait en sorte de créér une liste déroulante en parallèle afin de forcer le choix de la formule SI (du cas par cas pour mon travail).

Donc lorsque je choisi un choix parmis cette liste, ma formule SI est écrasée et n'existe plus.
J'aimerais donc créer un bouton qui me permettrait de reintialiser la cellule au point de départ avec la formule SI.

Bien cordialement.
A voir également:

10 réponses

Personne pourrait m'aider ?
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
1 août 2014 à 13:03
Bonjour Fanny

Est-ce que cet exemple t'inspire?

https://www.cjoint.com/?DHbndyRqF1w

cordialement
0
Pas vraiment,

Dans le 2e onglet je t'ai expliqué mon soucis : http://cjoint.com/?DHbnDkLXOot
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
2 août 2014 à 11:05
Bonjour Fanny

Si tu as des questions, n'hésite pas.
Pour réaliser les formules, j'ai utilisé l'enregistreur de macro.

cordialement
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
2 août 2014 à 11:05
0

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

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié par michel_m le 2/08/2014 à 15:43
Bonjour,

Sans bouton; se déclenche à un changement dans B6.

valeur de B2 si choix "oui" en B6 si appui sur "suppr" en B6; choix "oui-non"

Option Explicit
'-----
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$6" Then
If Target.Value = "OUI" Then
Application.EnableEvents = False
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$B$2"
Target = Range("B2")
End With
Application.EnableEvents = True
End If
If Target.Value = "" Then
Application.EnableEvents = False
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$A$15:$A$16"
End With
Application.EnableEvents = True
End If
End If
End Sub


Sub sos()
'très utile pour réinitialiser les déclenchements de la macro si on sort accidentellement de la procédure woksheet_change pendant des essais
Application.EnableEvents = True
End Sub


maquette
https://www.cjoint.com/?0HcpgDxtTXP





Michel
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
2 août 2014 à 20:47
Bonjour,

Pourquoi faire simple et utiliser Excel normalement quand on peut faire compliqué ???
https://www.cjoint.com/?DHcuTByREol
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
3 août 2014 à 10:28
Merci Patrice33740
0
michel_m se rapproche plus du résultat que j'attendais car tout est dans la meme cellule et grâce au bouton on reintilise le tout.

Partice33740, vous utilisez des cellules intermédiaires pour que cela fonctionne.

Cependant michel, si j'ajoute des lignes avant la ligne 5, il y a disfonctionnement, idem pour les colonnes..

En réintilisant toutes les cellules de la feuille ca marcherait ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
4 août 2014 à 09:47
Bonjour,

« vous utilisez des cellules intermédiaires pour que cela fonctionne » Effectivement, mais parfois il faut savoir accepter les contraintes d'utilisation normale d'un logiciel dans des conditions que l'on comprend, plutôt que vouloir utiliser un mode de fonctionnement non prévu, programmé par quelqu'un autre, alors qu'on a pas de connaissance en programmation.

C'est généralement une source d'ennuis ultérieurs.
0
C'est pas faux, en tout cas merci de votre aide ! je vous tiens au courant de mon avancée sur ce sujet.
Bonne journée
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 306
Modifié par michel_m le 4/08/2014 à 11:01
Bonjour
Pour Patrice:
Pourquoi faire simple et utiliser Excel normalement quand on peut faire compliqué ???
Merci, très sympa

Répond donc à la question précise posée par Fanny - dans la cellule- avec des formules Excel: je suis curieux d'apprendre!

pour fanny

Je me suis basé sur ton fichier joint ou tu fais appel à la formule =B5; je n'ai pas vu cette précision: "si j'ajoute des lignes avant la ligne 5"

par contre si tu veux une formule conditionnelle(=SI...) dans la validation de données tu ne peux pas utiliser l'option liste.... toujours parce que je me suis basé sur ton exemple

Michel
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié par Patrice33740 le 4/08/2014 à 12:50
Bonjour Michel,

Ce n'est pas à toi que ce message s'adressait mais à Fanny !!!, si j'avais voulu te l'adresser je l'aurais mis en commentaire (comme ici).

J'ai bien vu que tu as répondu à la question posée avec le peu d'éléments fournis.

Mais sachant qu'il est obligatoire de passer par du VBA pour respecter sa demande et vu que les connaissances de Fanny à ce sujet semblent très limitées, je pose l'éternelle question de la pérennité de la méthode !

Cordialement
Patrice
0