Format de cellule conditionnel

dpalix Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
J'aimerais modifier le format d'une cellule en fonction de la valeur d'une autre cellule.
Par exemple :
Si A1 vaut 0, alors A2 doit être un texte fixe "N/A"
Et si A1 vaut 1, alors A2 doit être une liste déroulante.

J'ai essayé avec des listes déroulantes conditionnelles mais le problème est que si A1 vaut 1, que je mets une valeur dans A2 via la liste, et qu'ensuite je passe A1 à 0, alors A2 ne repasse pas à la valeur voulue (une liste déroulante se contentant de vérifier une saisie) et reste une liste.

Quelqu'un aurait-il une solution ?
Merci :-)
A voir également:

5 réponses

Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Pour l'exemple, tu crées une liste déroulante en A2 (créer une liste déroulante, Données/Validation/sélectionner Liste et dans source, soit pointer la plage ou saisir les données espacées par des point virgules ;

et tu colles ce code dans les propriétés de la feuille (clic droit sur l'onglet/Visualiser le code et colles le code dans la grande feuille blanche)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If [A1] = 0 Then [A2] = "=""N/A"""
End If
If [A1] <> 0 Then [A2] = ""
End Sub

Pour le code du post 2 tu crées la liste déroulante en B1

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
1
dpalix
 
Nickel, ca marche impecc. Merci beaucoup Mike.

Cette possibilité de créer du code sur un onglet, qui est exécuté à chaque modif sur la feuille ouvre des perspectives très intéressantes :-)

Merci mille fois.
Daniel
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Ce que tu demandes n'est pas faisable.
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

Ca dépend, par formule comme le dit Raymond pas possible, ou en VBA

clic droit sur l'onglet de ta feuille concernée et colles ce bout de code

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If [A1] = 0 Then [B1] = "=""N/A"""
End If
If [A1] <> 0 Then [B1] = ""
End Sub

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
 
bonjour;
ou est la liste déroulante mike-31?
0

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

Posez votre question
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Si tes attentes sont satisfaites, n'oublies pas de mettre ton statut en résolu en haut de ton post, ça permet à d'autres de consulter la discussion pour des cas similaires

Merci
A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0