Bonjour,
par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1"
selon un format particularisé.
Cependant, si pour la première condition, tout fonctionne parfaitement
(nombre de chiffres :13), pour la seconde condition (nombre de chiffres :
9), excel me renvoie l'erreur "nombre stocké sous forme de texte".
Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un
message d'erreur survient.
Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = "1" Then
If Len(Target) = "13" Then
Target = Format(Target, "0000\ 00\ 000\ 0000")
ElseIf Len(Target) = "9" Then
Target = Format(Target, "00\ 000\ 0000")
End If
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
cousinhub
Re-, En complément, je me suis rendu compte que si dans mon format personnalisé, je mets 4 "0" ou plus dans la première chaîne, excel considère la valeur de la cellule comme un nombre, au dessous, il le considère comme un texte!!!! Bug?
"cousinhub" a écrit dans le message de news: uVx$
Bonjour, par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1" selon un format particularisé. Cependant, si pour la première condition, tout fonctionne parfaitement (nombre de chiffres :13), pour la seconde condition (nombre de chiffres : 9), excel me renvoie l'erreur "nombre stocké sous forme de texte". Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un message d'erreur survient. Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target = Format(Target, "0000 00 000 0000") ElseIf Len(Target) = "9" Then Target = Format(Target, "00 000 0000") End If End If End Sub
Merci pour tout éclaircissement
Re-,
En complément, je me suis rendu compte que si dans mon format personnalisé,
je mets 4 "0" ou plus dans la première chaîne, excel considère la valeur de
la cellule comme un nombre, au dessous, il le considère comme un texte!!!!
Bug?
"cousinhub" <pmcsnhb_nospam@aol.com> a écrit dans le message de news:
uVx$7g9PHHA.5012@TK2MSFTNGP02.phx.gbl...
Bonjour,
par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1"
selon un format particularisé.
Cependant, si pour la première condition, tout fonctionne parfaitement
(nombre de chiffres :13), pour la seconde condition (nombre de chiffres :
9), excel me renvoie l'erreur "nombre stocké sous forme de texte".
Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un
message d'erreur survient.
Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = "1" Then
If Len(Target) = "13" Then
Target = Format(Target, "0000 00 000 0000")
ElseIf Len(Target) = "9" Then
Target = Format(Target, "00 000 0000")
End If
End If
End Sub
Re-, En complément, je me suis rendu compte que si dans mon format personnalisé, je mets 4 "0" ou plus dans la première chaîne, excel considère la valeur de la cellule comme un nombre, au dessous, il le considère comme un texte!!!! Bug?
"cousinhub" a écrit dans le message de news: uVx$
Bonjour, par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1" selon un format particularisé. Cependant, si pour la première condition, tout fonctionne parfaitement (nombre de chiffres :13), pour la seconde condition (nombre de chiffres : 9), excel me renvoie l'erreur "nombre stocké sous forme de texte". Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un message d'erreur survient. Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target = Format(Target, "0000 00 000 0000") ElseIf Len(Target) = "9" Then Target = Format(Target, "00 000 0000") End If End If End Sub
Merci pour tout éclaircissement
cousinhub
Re-, après essais, par ce code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target.NumberFormat = "0000 00 000 0000" ElseIf Len(Target) = "9" Then Target.NumberFormat = "00 000 0000" Else Target.NumberFormat = "General" End If End If End Sub End Sub
tout fonctionne bien. Si cela peut aider????? mais toujours pas compris pourquoi excel m'indique une fois "erreur" et l'autre fois "tout va bien!!!!"
"cousinhub" a écrit dans le message de news: eaI1%
Re-, En complément, je me suis rendu compte que si dans mon format personnalisé, je mets 4 "0" ou plus dans la première chaîne, excel considère la valeur de la cellule comme un nombre, au dessous, il le considère comme un texte!!!! Bug?
"cousinhub" a écrit dans le message de news: uVx$
Bonjour, par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1" selon un format particularisé. Cependant, si pour la première condition, tout fonctionne parfaitement (nombre de chiffres :13), pour la seconde condition (nombre de chiffres : 9), excel me renvoie l'erreur "nombre stocké sous forme de texte". Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un message d'erreur survient. Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target = Format(Target, "0000 00 000 0000") ElseIf Len(Target) = "9" Then Target = Format(Target, "00 000 0000") End If End If End Sub
Merci pour tout éclaircissement
Re-,
après essais, par ce code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = "1" Then
If Len(Target) = "13" Then
Target.NumberFormat = "0000 00 000 0000"
ElseIf Len(Target) = "9" Then
Target.NumberFormat = "00 000 0000"
Else
Target.NumberFormat = "General"
End If
End If
End Sub
End Sub
tout fonctionne bien.
Si cela peut aider?????
mais toujours pas compris pourquoi excel m'indique une fois "erreur" et
l'autre fois "tout va bien!!!!"
"cousinhub" <pmcsnhb_nospam@aol.com> a écrit dans le message de news:
eaI1%2369PHHA.3316@TK2MSFTNGP05.phx.gbl...
Re-,
En complément, je me suis rendu compte que si dans mon format
personnalisé, je mets 4 "0" ou plus dans la première chaîne, excel
considère la valeur de la cellule comme un nombre, au dessous, il le
considère comme un texte!!!!
Bug?
"cousinhub" <pmcsnhb_nospam@aol.com> a écrit dans le message de news:
uVx$7g9PHHA.5012@TK2MSFTNGP02.phx.gbl...
Bonjour,
par ce code, j'arrive à formater mes valeurs contenues dans la colonne
"1" selon un format particularisé.
Cependant, si pour la première condition, tout fonctionne parfaitement
(nombre de chiffres :13), pour la seconde condition (nombre de chiffres :
9), excel me renvoie l'erreur "nombre stocké sous forme de texte".
Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un
message d'erreur survient.
Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = "1" Then
If Len(Target) = "13" Then
Target = Format(Target, "0000 00 000 0000")
ElseIf Len(Target) = "9" Then
Target = Format(Target, "00 000 0000")
End If
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target.NumberFormat = "0000 00 000 0000" ElseIf Len(Target) = "9" Then Target.NumberFormat = "00 000 0000" Else Target.NumberFormat = "General" End If End If End Sub End Sub
tout fonctionne bien. Si cela peut aider????? mais toujours pas compris pourquoi excel m'indique une fois "erreur" et l'autre fois "tout va bien!!!!"
"cousinhub" a écrit dans le message de news: eaI1%
Re-, En complément, je me suis rendu compte que si dans mon format personnalisé, je mets 4 "0" ou plus dans la première chaîne, excel considère la valeur de la cellule comme un nombre, au dessous, il le considère comme un texte!!!! Bug?
"cousinhub" a écrit dans le message de news: uVx$
Bonjour, par ce code, j'arrive à formater mes valeurs contenues dans la colonne "1" selon un format particularisé. Cependant, si pour la première condition, tout fonctionne parfaitement (nombre de chiffres :13), pour la seconde condition (nombre de chiffres : 9), excel me renvoie l'erreur "nombre stocké sous forme de texte". Ceci n'est pas gênant en soi, mais pour effectuer un tri, par exemple, un message d'erreur survient. Ma question est donc : quelle différence entre ces deux conditions?
Code :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = "1" Then If Len(Target) = "13" Then Target = Format(Target, "0000 00 000 0000") ElseIf Len(Target) = "9" Then Target = Format(Target, "00 000 0000") End If End If End Sub