Décimales conditionnelles
Résolu
touroul
Messages postés
509
Date d'inscription
Statut
Membre
Dernière intervention
-
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
touroul Messages postés 509 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Décimales conditionnelles
- Javascript arrondir à 2 décimales - Forum Webmastering
- Arrondir à 2 décimales après la virgule - calculateur javascript ✓ - Forum Javascript
- Publipostage montant avec 2 décimales - Forum Word
- 2 décimales après la virgule excel - Forum Excel
- Résultat calcul javascript à 2 décimales ✓ - Forum Javascript
3 réponses
Bonjour
une proposition via une macro
https://www.cjoint.com/?3Cci7teIJ3c
Alt-F11 pour visualiser le code
bonne suite
une proposition via une macro
https://www.cjoint.com/?3Cci7teIJ3c
Alt-F11 pour visualiser le code
bonne suite
C'est carrément excellent !
Quel talent !
plus qu'à appliquer à ma feuille
Je vous tiens au courant
Un grand merci cher ccm81.
Quel talent !
plus qu'à appliquer à ma feuille
Je vous tiens au courant
Un grand merci cher ccm81.
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 !
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 !