OVH Cloud OVH Cloud

saisie nombre en format texte

15 réponses
Avatar
F.F.
bonjour à tous,

Je ne suis pas très "pro" dans l'utilisation d'excel et je bute devant le
problème suivant.

J'ai récupéré une liste d'une base de données où figurent des nombres, mais
pour les besoins ultéreiurs d'un traitement, j'ai besoin que ces nombres
soient considérés comme du TEXTE. (d'ailleurs la base récupérée me les
affiche ainsi et c'est bien).

Par contre si s'ajoute des lignes dans le tableau, les chiffres sont
considérés au format NOMBRE. Qui plus est j'ai besoin que le "0" soit
affiché en première position "01234"
J'ai essayé de formater la cellule en texte : cela ne marche pas
J'ai également éssayé de recopier une ligne ou le format était le bon (une
ligne importée de ma base) et de l'éditer ensuite, mais lorsque je valide,
la cellule est à nouveau formatée en NOMBRE.

Je ne sais pas sis je suis clair !!

Merci pour vos réponses ...

5 réponses

1 2
Avatar
LeSteph
Ben non, merci encore Docm et AV
n'obtiens pas d'erreur mais si c'est le cas
chez d'autres (peut-être versions )et puis plus proprement:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
With Target.Cells
If IsNumeric(.Value) Then
Application.EnableEvents = False
.Value = "'" & .Value
Application.EnableEvents = True
End If
End With
End If
End Sub

;-)

"LeSteph" a écrit dans le message de
news:%
Merci AV ,
je comprends parfaitement l'explication est claire
mais je ne comprends pas
chez moi aucune boucle sans fin???
Se pourrait-il que EnableEvents = False par défaut
..je vais vérifier en forçant true avant l'instruction et
je reviens ..




"AV" a écrit dans le message de
news:%
Vérifié même en plaçant une formule référant à la plage
pas de boucle sans fin!


Ca boucle inutilement car, comme tu modifies la valeur de "Target", tu
redéclenches chaque fois l'évènement "Worksheet_Change"
Pour éviter :
..........
If IsNumeric(.Value) Then
Application.EnableEvents = False
.Value = "'" & .Value
Application.EnableEvents = True
End If
.......

AV









Avatar
LeSteph
Me voilà rassuré
j'ai essayé en modifiant juste
ton code cidessous:
'***
If IsNumeric(.Value) Then
.Value = "'" & .Value + x
'***
Visiblement c'est Excel2003 qui gère trop bien le bug
puisque lorsque avec cet incrément je rentre 14 on s'arrête à 230873.
Merci encore


"docm" a écrit dans le message de
news:u$
LeSteph, tu peux le vérifier en utilisant F8 (le pas à pas)
ou en incrémentant une variable statique dans la macro:

Private Sub Worksheet_Change(ByVal Target As Range)
Static x As Long
x = x + 1
Debug.Print x
DoEvents
If Target.Column = 1 Then
With Target.Cells
If IsNumeric(.Value) Then
.Value = "'" & .Value
End If
End With
End If
End Sub


"LeSteph" wrote in message
news:#
Merci AV ,
je comprends parfaitement l'explication est claire
mais je ne comprends pas
chez moi aucune boucle sans fin???
Se pourrait-il que EnableEvents = False par défaut
..je vais vérifier en forçant true avant l'instruction et
je reviens ..




"AV" a écrit dans le message de
news:%
Vérifié même en plaçant une formule référant à la plage
pas de boucle sans fin!


Ca boucle inutilement car, comme tu modifies la valeur de "Target", tu
redéclenches chaque fois l'évènement "Worksheet_Change"
Pour éviter :
..........
If IsNumeric(.Value) Then
Application.EnableEvents = False
.Value = "'" & .Value
Application.EnableEvents = True
End If
.......

AV













Avatar
Misange
Ta macro provoque une bouche sans fin.
sans faim plutôt non ?


je vais l'essayer, ça allègera le caddy hebdomadaire (qui a dit
dromadaire ?)


Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Avatar
Misange
elle oserait jamais
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 04/09/2004 14:06:
Ta macro provoque une bouche sans fin.


sans faim plutôt non ?



Mais, mais... se fouterait-elle de ma gueule? ;)


je vais l'essayer, ça allègera le caddy hebdomadaire (qui a dit
dromadaire ?)









Avatar
LeSteph
Bonjour Misange
Houlala Ben heureusement qu'il était là...le Docmadaire

"Misange" a écrit dans le message de
news:O5vY%
elle oserait jamais
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 04/09/2004 14:06:
Ta macro provoque une bouche sans fin.


sans faim plutôt non ?



Mais, mais... se fouterait-elle de ma gueule? ;)


je vais l'essayer, ça allègera le caddy hebdomadaire (qui a dit
dromadaire ?)











1 2