Format de cellule conditionnel

dpalix Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 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 :-)

5 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    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
  2. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Ce que tu demandes n'est pas faisable.
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    bonjour;
    ou est la liste déroulante mike-31?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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