OVH Cloud OVH Cloud

Formatage qui marche tres mal [Herdet et autres]

4 réponses
Avatar
tictok
Bonjour
j'ai un autre probleme de formatage mais celui la est vraiment special !
J'ai formate toute une colonne en format texte.
Dans celle ci, j'ai une cellule dont la valeur est "NN1234/4".
Quand j'utilise la procedure ci dessous pour supprimer le NN
-------------------------------------------------------------------------
For Each a In Range("A1:A" & Nonvide)
If Left(a.Value, 2) = "NN" Then
a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len(a.Value) - 2), "000000")
End If
Next
-------------------------------------------------------------------------
j'obtiens alors "-243249" au lieu de 1234/4 !!!
Ceci n'est qu'un exemple,j'en ai une dizaine qui foirent de la meme facon :
un nombre negatif a 6 chiffres. Ils sont tous du type
"NN[jusqu'a6chiffres]/[jusqu'a2chiffes]".

Je peux encore reparer manuellement ce probleme (un effet de bord ?) mais
c'est pas normal.

Merci d'avance pour mes sauveurs, car la je commence a en avoir marre de ce
format texte qui marche quand il veut.

4 réponses

Avatar
Bonjour,
Sub tictok()
Dim a As Range, ligne!
ligne = 1
While Not IsEmpty(Cells(ligne, 1))
Set a = Cells(ligne, 1)
If Left(a.Value, 2) = "NN" Then
a.Value = Mid(a, 3, Len(a) - 2)
a.NumberFormat = "@"
a.Offset(0, 1).Value = a.Value
a.Offset(0, 1).NumberFormat = "000000"
End If
ligne = ligne + 1
Wend
End Sub
cela devrait mieux marcher !!!!

@+
-----Message d'origine-----
Bonjour
j'ai un autre probleme de formatage mais celui la est
vraiment special !

J'ai formate toute une colonne en format texte.
Dans celle ci, j'ai une cellule dont la valeur
est "NN1234/4".

Quand j'utilise la procedure ci dessous pour supprimer
le NN

---------------------------------------------------------
----------------

For Each a In Range("A1:A" & Nonvide)
If Left(a.Value, 2) = "NN" Then
a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len
(a.Value) - 2), "000000")

End If
Next
---------------------------------------------------------
----------------

j'obtiens alors "-243249" au lieu de 1234/4 !!!
Ceci n'est qu'un exemple,j'en ai une dizaine qui foirent
de la meme facon :

un nombre negatif a 6 chiffres. Ils sont tous du type
"NN[jusqu'a6chiffres]/[jusqu'a2chiffes]".

Je peux encore reparer manuellement ce probleme (un
effet de bord ?) mais

c'est pas normal.

Merci d'avance pour mes sauveurs, car la je commence a
en avoir marre de ce

format texte qui marche quand il veut.


.



Avatar
tictok
Merci beaucoup, ca marche du tonnerre !
Meme le
a.Offset(0, 1).NumberFormat = "000000"
ne sert a rien.
Ce que je ne comprends pas trop, c'est pourquoi ton code marche pafaitement
et pas l'autre.
Serait t'il possible de m'expliquer ton code et si possible les lacunes du
code precedent (je remercie quand meme Herdet de me l'avoir fourni :) ) ?
I love you Anonymous ! LOL


escreveu na mensagem
news:d07601c439aa$f3c3de60$
Bonjour,
Sub tictok()
Dim a As Range, ligne!
ligne = 1
While Not IsEmpty(Cells(ligne, 1))
Set a = Cells(ligne, 1)
If Left(a.Value, 2) = "NN" Then
a.Value = Mid(a, 3, Len(a) - 2)
a.NumberFormat = "@"
a.Offset(0, 1).Value = a.Value
a.Offset(0, 1).NumberFormat = "000000"
End If
ligne = ligne + 1
Wend
End Sub
cela devrait mieux marcher !!!!

@+
-----Message d'origine-----
Bonjour
j'ai un autre probleme de formatage mais celui la est
vraiment special !

J'ai formate toute une colonne en format texte.
Dans celle ci, j'ai une cellule dont la valeur
est "NN1234/4".

Quand j'utilise la procedure ci dessous pour supprimer
le NN

---------------------------------------------------------
----------------

For Each a In Range("A1:A" & Nonvide)
If Left(a.Value, 2) = "NN" Then
a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len
(a.Value) - 2), "000000")

End If
Next
---------------------------------------------------------
----------------

j'obtiens alors "-243249" au lieu de 1234/4 !!!
Ceci n'est qu'un exemple,j'en ai une dizaine qui foirent
de la meme facon :

un nombre negatif a 6 chiffres. Ils sont tous du type
"NN[jusqu'a6chiffres]/[jusqu'a2chiffes]".

Je peux encore reparer manuellement ce probleme (un
effet de bord ?) mais

c'est pas normal.

Merci d'avance pour mes sauveurs, car la je commence a
en avoir marre de ce

format texte qui marche quand il veut.


.





Avatar
michdenis
Bonjour Tictok,

a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len(a.Value) - 2), "000000")


Un format texte n'a pas de format personnalisé !!!

Tu débutes par donner un format texte que tu veux modifier en un format personnalisé de type numérique ! Il y a de quoi
mystifier Excel ... non ?


Salutations!






"tictok" a écrit dans le message de news:
Merci beaucoup, ca marche du tonnerre !
Meme le
a.Offset(0, 1).NumberFormat = "000000"
ne sert a rien.
Ce que je ne comprends pas trop, c'est pourquoi ton code marche pafaitement
et pas l'autre.
Serait t'il possible de m'expliquer ton code et si possible les lacunes du
code precedent (je remercie quand meme Herdet de me l'avoir fourni :) ) ?
I love you Anonymous ! LOL


escreveu na mensagem
news:d07601c439aa$f3c3de60$
Bonjour,
Sub tictok()
Dim a As Range, ligne!
ligne = 1
While Not IsEmpty(Cells(ligne, 1))
Set a = Cells(ligne, 1)
If Left(a.Value, 2) = "NN" Then
a.Value = Mid(a, 3, Len(a) - 2)
a.NumberFormat = "@"
a.Offset(0, 1).Value = a.Value
a.Offset(0, 1).NumberFormat = "000000"
End If
ligne = ligne + 1
Wend
End Sub
cela devrait mieux marcher !!!!

@+
-----Message d'origine-----
Bonjour
j'ai un autre probleme de formatage mais celui la est
vraiment special !

J'ai formate toute une colonne en format texte.
Dans celle ci, j'ai une cellule dont la valeur
est "NN1234/4".

Quand j'utilise la procedure ci dessous pour supprimer
le NN

---------------------------------------------------------
----------------

For Each a In Range("A1:A" & Nonvide)
If Left(a.Value, 2) = "NN" Then
a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len
(a.Value) - 2), "000000")

End If
Next
---------------------------------------------------------
----------------

j'obtiens alors "-243249" au lieu de 1234/4 !!!
Ceci n'est qu'un exemple,j'en ai une dizaine qui foirent
de la meme facon :

un nombre negatif a 6 chiffres. Ils sont tous du type
"NN[jusqu'a6chiffres]/[jusqu'a2chiffes]".

Je peux encore reparer manuellement ce probleme (un
effet de bord ?) mais

c'est pas normal.

Merci d'avance pour mes sauveurs, car la je commence a
en avoir marre de ce

format texte qui marche quand il veut.


.





Avatar
tictok
Si tu le dis :D. Je commence avec Visual Basic mais merci de toutes ces
precisions.

@+

"michdenis" escreveu na mensagem
news:#
Bonjour Tictok,

a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len(a.Value) - 2), "000000")


Un format texte n'a pas de format personnalisé !!!

Tu débutes par donner un format texte que tu veux modifier en un format
personnalisé de type numérique ! Il y a de quoi

mystifier Excel ... non ?


Salutations!






"tictok" a écrit dans le message de
news:

Merci beaucoup, ca marche du tonnerre !
Meme le
a.Offset(0, 1).NumberFormat = "000000"
ne sert a rien.
Ce que je ne comprends pas trop, c'est pourquoi ton code marche
pafaitement

et pas l'autre.
Serait t'il possible de m'expliquer ton code et si possible les lacunes du
code precedent (je remercie quand meme Herdet de me l'avoir fourni :) ) ?
I love you Anonymous ! LOL


escreveu na mensagem
news:d07601c439aa$f3c3de60$
Bonjour,
Sub tictok()
Dim a As Range, ligne!
ligne = 1
While Not IsEmpty(Cells(ligne, 1))
Set a = Cells(ligne, 1)
If Left(a.Value, 2) = "NN" Then
a.Value = Mid(a, 3, Len(a) - 2)
a.NumberFormat = "@"
a.Offset(0, 1).Value = a.Value
a.Offset(0, 1).NumberFormat = "000000"
End If
ligne = ligne + 1
Wend
End Sub
cela devrait mieux marcher !!!!

@+
-----Message d'origine-----
Bonjour
j'ai un autre probleme de formatage mais celui la est
vraiment special !

J'ai formate toute une colonne en format texte.
Dans celle ci, j'ai une cellule dont la valeur
est "NN1234/4".

Quand j'utilise la procedure ci dessous pour supprimer
le NN

---------------------------------------------------------
----------------

For Each a In Range("A1:A" & Nonvide)
If Left(a.Value, 2) = "NN" Then
a.NumberFormat = "@"
a.Value = Format(Right(a.Value, Len
(a.Value) - 2), "000000")

End If
Next
---------------------------------------------------------
----------------

j'obtiens alors "-243249" au lieu de 1234/4 !!!
Ceci n'est qu'un exemple,j'en ai une dizaine qui foirent
de la meme facon :

un nombre negatif a 6 chiffres. Ils sont tous du type
"NN[jusqu'a6chiffres]/[jusqu'a2chiffes]".

Je peux encore reparer manuellement ce probleme (un
effet de bord ?) mais

c'est pas normal.

Merci d'avance pour mes sauveurs, car la je commence a
en avoir marre de ce

format texte qui marche quand il veut.


.