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

format de cellule

4 réponses
Avatar
vanessa066
bonjour,

j'aimerais mettre un format de cellule suivant le contenu.
Je m'explique, dans une cellule, je met le niveau d'un immeuble (RDC, 1er
étage, 2ème étage, ...) mais je n'indique que RDC ou 1 ou 2 ... et j'aimerais
qu'automatiquement il me mette 1er étage quand je met 1, 2ème étage quand je
met 2, ...
Je voulais utiliser le format de cellule personnalisé, mais je ne maîtrise
pas quand il y a plusieurs fromat pour une même cellule, et je ne vois pas
comment utiliser la mise en forme conditionnelle puisque je veux que du texte
apparaisse.

Une idée ?

Merci d'avance

4 réponses

Avatar
FFO
Salut à toi

Dans le VBA de la feuille (ALT+F11) mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 1 And Target Like "*er étage" = False Then
Target = Target & "er étage"
End If
If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False Then
Target = Target & "ième étage"
End If
End Sub

Les lignes :

If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False Then

doivent être mises bout à bout en une seule

Fais des essais et dis moi !!!!!
Avatar
vanessa066
Ca marche effectivement, mais le problème, c'est que tous les autres chiffres
de ma feuille changent aussi, alors que ce n'est qu'une cellule qui doit
avoir ce format.

"FFO" a écrit :

Salut à toi

Dans le VBA de la feuille (ALT+F11) mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 1 And Target Like "*er étage" = False Then
Target = Target & "er étage"
End If
If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False Then
Target = Target & "ième étage"
End If
End Sub

Les lignes :

If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False Then

doivent être mises bout à bout en une seule

Fais des essais et dis moi !!!!!



Avatar
Philippe.R
Bonjour,
En supposant que la cellule considérée soit nommée "niveau" (sans les
guillemets), tu peux modifier le code ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)
if not intersect(target, range("niveau")) is nothing then
If Target = 1 And Target Like "*er étage" = False Then
Target = Target & "er étage"
End If
If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" =
False Then
Target = Target & "ième étage"
End If
endif
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"vanessa066" a écrit dans le message
de news:
Ca marche effectivement, mais le problème, c'est que tous les autres
chiffres
de ma feuille changent aussi, alors que ce n'est qu'une cellule qui doit
avoir ce format.

"FFO" a écrit :

Salut à toi

Dans le VBA de la feuille (ALT+F11) mets ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = 1 And Target Like "*er étage" = False Then
Target = Target & "er étage"
End If
If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False
Then
Target = Target & "ième étage"
End If
End Sub

Les lignes :

If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" = False
Then

doivent être mises bout à bout en une seule

Fais des essais et dis moi !!!!!





Avatar
mugrec75
bonjour,

tout simplement avec le format personnalisé ci-dessous
[>1]0" ième";[<1]"RDC";"1er"

mais contrainte : pas de sous-sol, sinon format personnalisé ci-dessous
[>1]0" ième";[<0]0" e s/sol";"1er";@
mais contrainte : RDC doit être saisi


"Philippe.R" wrote:

Bonjour,
En supposant que la cellule considérée soit nommée "niveau" (sans les
guillemets), tu peux modifier le code ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)
if not intersect(target, range("niveau")) is nothing then
If Target = 1 And Target Like "*er étage" = False Then
Target = Target & "er étage"
End If
If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
Target Like "*er étage" = False And Target Like "*ième étage" =
False Then
Target = Target & "ième étage"
End If
endif
End Sub

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"vanessa066" a écrit dans le message
de news:
> Ca marche effectivement, mais le problème, c'est que tous les autres
> chiffres
> de ma feuille changent aussi, alors que ce n'est qu'une cellule qui doit
> avoir ce format.
>
> "FFO" a écrit :
>
>> Salut à toi
>>
>> Dans le VBA de la feuille (ALT+F11) mets ce code :
>>
>> Private Sub Worksheet_Change(ByVal Target As Range)
>> If Target = 1 And Target Like "*er étage" = False Then
>> Target = Target & "er étage"
>> End If
>> If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
>> Target Like "*er étage" = False And Target Like "*ième étage" = False
>> Then
>> Target = Target & "ième étage"
>> End If
>> End Sub
>>
>> Les lignes :
>>
>> If Target <> "" And Target <> 0 And Target <> 1 And Target <> "RDC" And
>> Target Like "*er étage" = False And Target Like "*ième étage" = False
>> Then
>>
>> doivent être mises bout à bout en une seule
>>
>> Fais des essais et dis moi !!!!!
>>