OVH Cloud OVH Cloud

Affichage textbox et zéro non significatif

2 réponses
Avatar
SylvieB
Bonsoir et merci =E0 ceux qui m'ont apport=E9 leur aide.

1) michdenis :
J'ai essay=E9 ta solution avec les propri=E9t=E9s KeyPress et=20
KeyUp du contr=F4le textbox : VBA met en surbrillance la=20
m=E9thode Replace et signale une erreur de compilation.

J'ai consult=E9 l'aide : je nage un peu.

Pourrais-tu m'expliquer tes exemples ? Merci

2) Starwing :
Ta solution .value=3DFormat(.value, " ## ## ## ## ##")s=E9pare=20
effectivement les chiffres (num=E9ros de t=E9l=E9phone) par=20
groupes de deux et intercale un espace entre eux.
Seulement le z=E9ro =E0 gauche est consid=E9r=E9 comme non=20
significatif et il est supprim=E9 par excel.

J'ai remplac=E9 le premi=E8re di=E8se par un z=E9ro. L=E0, cinq=20
groupes de deux z=E9ros intercal=E9s chacun par un espace=20
apparaissent. Les chiffres composant le num=E9ro de=20
t=E9l=E9phone les remplacent un =E0 un. Dans ce cas, le z=E9ro de=20
gauche est conserv=E9.

Est-il possible de conserver le z=E9ro de gauche et de ne=20
pas avoir la s=E9rie de z=E9ros =E0 l'affichage ?

Merci de me r=E9pondre

2 réponses

Avatar
Frédéric Sigonneau
Bonsoir,

Essaye ce format personnalisé :

0#" "##" "##" "##" "##

en VBA :

Sub test()
Range("A2").Value = _
Format(123456789, "0#"" ""##"" ""##"" ""##"" ""##")
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonsoir et merci à ceux qui m'ont apporté leur aide.

1) michdenis :
J'ai essayé ta solution avec les propriétés KeyPress et
KeyUp du contrôle textbox : VBA met en surbrillance la
méthode Replace et signale une erreur de compilation.

J'ai consulté l'aide : je nage un peu.

Pourrais-tu m'expliquer tes exemples ? Merci

2) Starwing :
Ta solution .value=Format(.value, " ## ## ## ## ##")sépare
effectivement les chiffres (numéros de téléphone) par
groupes de deux et intercale un espace entre eux.
Seulement le zéro à gauche est considéré comme non
significatif et il est supprimé par excel.

J'ai remplacé le première dièse par un zéro. Là, cinq
groupes de deux zéros intercalés chacun par un espace
apparaissent. Les chiffres composant le numéro de
téléphone les remplacent un à un. Dans ce cas, le zéro de
gauche est conservé.

Est-il possible de conserver le zéro de gauche et de ne
pas avoir la série de zéros à l'affichage ?

Merci de me répondre


Avatar
michdenis
Bonjour Sylvie,

C'est probable que la fonction Replace() ne fasse pas parti de la version Excel 97.

Tu peux cependant la remplacer ceci dans la procédure :
A = Replace(TextBox1, " ", "")

Par :

A = Application.Substitute(TextBox1, " ", "")


Salutations!




"SylvieB" a écrit dans le message de news:01e601c3c4e4$7a587170$
Bonsoir et merci à ceux qui m'ont apporté leur aide.

1) michdenis :
J'ai essayé ta solution avec les propriétés KeyPress et
KeyUp du contrôle textbox : VBA met en surbrillance la
méthode Replace et signale une erreur de compilation.

J'ai consulté l'aide : je nage un peu.

Pourrais-tu m'expliquer tes exemples ? Merci

2) Starwing :
Ta solution .value=Format(.value, " ## ## ## ## ##")sépare
effectivement les chiffres (numéros de téléphone) par
groupes de deux et intercale un espace entre eux.
Seulement le zéro à gauche est considéré comme non
significatif et il est supprimé par excel.

J'ai remplacé le première dièse par un zéro. Là, cinq
groupes de deux zéros intercalés chacun par un espace
apparaissent. Les chiffres composant le numéro de
téléphone les remplacent un à un. Dans ce cas, le zéro de
gauche est conservé.

Est-il possible de conserver le zéro de gauche et de ne
pas avoir la série de zéros à l'affichage ?

Merci de me répondre