Décimales conditionnelles

Résolu
Hello la communauté !

Encore une fonction Excel qui me manque ...

Je souhaite appliquer un certain nombre de décimales :
- à plusieurs cellules (non-contigües)
- en fonction du contenu (texte) d'une seule cellule bien particulière de ma feuille :

Voici ce que je souhaite obtenir :
=SI(G2="ABC";"0";"à cellules (A2:A8;B4:B18:G55:G67)")
=SI(G2="ABD";"0,0";"à cellules (A2:A8;B4:B18:G55:G67)")
=SI(G2="ABF";"0,00";"à cellules (A2:A8;B4:B18:G55:G67)")


Tout un groupe de cellules non- contiguës (A2:A8;B4:B18:G55:G67) reçoivent le même nombre de décimales en fonction de ce que je tape dans G2.
G2 peut recevoir 53 valeurs différentes.
Je peux taper 53 formules s'il faut.

Une idée pour mon casse-tête ?

Merci d'avance

3 réponses

  1. C'est carrément excellent !
    Quel talent !

    plus qu'à appliquer à ma feuille

    Je vous tiens au courant

    Un grand merci cher ccm81.
    0
    1. Après adaptation du code de ccm81, voici un mode opératoire à modifier selon vos besoins, si cela peut servir à quelqu'un :

      A METTRE DANS UN MODULE GENERAL :

      Option Explicit

      Const cel = "A1" 'Adresse de la cellule contenant le texte servant de référence
      Const plage1 = "D8:D14" 'Définition des plages recevant le nombre de décimales voulu pour le contenu de la cellule de référence
      Const plage2 = "E8:E14"

      Public Sub FormateCel(Target As Range)
      Dim f As String, plage As Range
      Set plage = Union(Range(plage1), Range(plage2)) 'citer les plages concernées
      If Not Intersect(Target, plage) Is Nothing Then
      Select Case Range(cel).Value

      Case "Texte1": f = "0.00" ' si A1 contient "Texte1, toutes les plages citées auront 2 décimales
      Case "Texte2": f = "0" ' si A1 contient "Texte2, toutes les plages citées seront des entiers

      End Select
      plage.NumberFormat = f
      End If
      End Sub

      A METTRE DANS LA FEUILLE DE CALCUL :

      Private Sub Worksheet_Change(ByVal Target As Range)
      Call FormateCel(Target)
      End Sub

      Bon courage à ceux que ça intéresse et chapeau à ccm81 !
      0