Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mise en forme conditionelle

5 réponses
Avatar
ALF
Bonjour,

Comment faire une mise en forme conditionelle sur une cellule sur le format
nombre et pourcentage ???
Je voudrais que si la cellule est egale à "% aci" mettre alors un format
pourcentage et si la cellule = "nombre d'aci" mettre un format nombre..
Cette option n'est pas disponible sur la mise en forme conditionelle..y a t
il un autre moyen de le faire ??

Merci
--
ALF

5 réponses

Avatar
Carim
Bonjour,

Deux possibilités :
1. Une macro, s'il s'agit d'une valeur déjà saisie par
l'utilisateur ...
ou
2. Une macro event qui corrige le format au moment même de la
saisie ...


Salutations
Carim
Avatar
ALF
Re,

d'accord carim mais quelle procedure faut il utiliser ??

En fait ,si la cellule A2= "% ACI" alors la cellule A3 doit avoir le format
pourcentage sinon c'est le format nombre...
j'ajoute que j'ai creé une feuille excel avec des onglets qui s'alimentent
automatiquement avec une autre feuille (source de donnée)..c'est dans ces
onglets que l'on trouve les cellules A2 et A3...les cellules A2 et A3 sont
donc alimentées automatiquement..

il faudrait peut etre inclure dans la procedure lié à l'onglet (ex:AVIGNON),
la macro dont tu parlais mais je ne sais pas comment s'y prendre...

je te laisse ci dessous la procedure liée à chaque onglet du fichier..

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
mois = [B12]
indic = [B5]
For Each s In Array("National", "Avignon", "Brest", "Limoges", "Lisieux",
"Paris_E", "IDF", "St-Omer")
Sheets(s).[B12] = mois
Sheets(s).[B5] = indic
Next s
Application.EnableEvents = True
End Sub

Merci de ton soutien.
--
ALF



Bonjour,

Deux possibilités :
1. Une macro, s'il s'agit d'une valeur déjà saisie par
l'utilisateur ...
ou
2. Une macro event qui corrige le format au moment même de la
saisie ...


Salutations
Carim




Avatar
Carim
Re-Bonjour,

Je ne sais pas quel évènement convient le mieux ... car cela dépend de
la façon d'utiliser le fichier, mais le code lui même est ok ...
Private Sub Worksheet_Activate()
If Left(Range("A2").Value, 1) = "%" Then
Range("A3").NumberFormat = "0.00%"
Else
Range("A3").NumberFormat = "#,##0.00"
End If
End Sub

Salutations
Carim
Avatar
ALF
Re,

Merci carim,
cependant l'evenement que tu proposes ne conviend pas vu qu'il y a plusieurs
cellules concernées...et la procedure deviendrait trop pompeuse si
j'enumerais les cellules à mettre en forme...

il faudrait adapter ta procedure à cela et donc ,considerer que n'importe
quelle cellule est succeptible d'etre mis en forme...

Merci.


--
ALF



Re-Bonjour,

Je ne sais pas quel évènement convient le mieux ... car cela dépend de
la façon d'utiliser le fichier, mais le code lui même est ok ...
Private Sub Worksheet_Activate()
If Left(Range("A2").Value, 1) = "%" Then
Range("A3").NumberFormat = "0.00%"
Else
Range("A3").NumberFormat = "#,##0.00"
End If
End Sub

Salutations
Carim




Avatar
ALF
re,

je n'ai toujours pas recu de reponse à ma derniere question....
peux t'on ameliorer le code en ce sens pour que n'importe quelle cellule
puisse etre mis en forme ?? si oui,comment???

Merci de votre soutien
--
ALF



Re-Bonjour,

Je ne sais pas quel évènement convient le mieux ... car cela dépend de
la façon d'utiliser le fichier, mais le code lui même est ok ...
Private Sub Worksheet_Activate()
If Left(Range("A2").Value, 1) = "%" Then
Range("A3").NumberFormat = "0.00%"
Else
Range("A3").NumberFormat = "#,##0.00"
End If
End Sub

Salutations
Carim