Problème de données alphanumérique interprété en chiffre puissance
4 réponses
Alex
Bonjour =E0 tous,=20
Je rencontre un probl=E8me avec certaines donn=E9es dans l'un de mes fichie=
rs, o=F9 j'ai des r=E9f=E9rences articles qui sont en alphanum=E9rique.=20
A titre d'exemple 16BE00000 ou bien 16E0000000.
Lorsque ma r=E9f=E9rence contient au moins 2 lettres dans son code, la donn=
=E9e est bien interpr=E9t=E9e en texte et non en nombre, or lorsqu'il y a q=
u'une seule lettre (uniquement avec la lettre E), Excel interpr=EAte cette =
ref=E9rence en nombre scientifique : 1,60E+01.=20
Si je demande la transformation en texte, j'obtiens uniquement la donn=E9e =
16 sans le E et les 0 qui suivent.
Y a t il une solution pour que ce dernier concerve la r=E9f=E9rence d'orign=
e compl=E9te ?
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
MichD
Bonjour,
La solution la plus simple, tu formates la plage de cette colonne en format "TEXTE" et tu inscris par la suite les références des articles. Tu ne devrais plus éprouver ce problème!
Bonjour,
La solution la plus simple, tu formates la plage de cette colonne en format "TEXTE" et tu
inscris par la suite les références des articles. Tu ne devrais plus éprouver ce problème!
La solution la plus simple, tu formates la plage de cette colonne en format "TEXTE" et tu inscris par la suite les références des articles. Tu ne devrais plus éprouver ce problème!
Alex
Merci pour ce retour. Le problème, c'est que mon fichier Excel est généré depuis une extr action d'un applicatif et que je ne peux faire cette action quotidiennement au vu du nombre de référence. Merci encore de votre aide.
Merci pour ce retour.
Le problème, c'est que mon fichier Excel est généré depuis une extr action d'un applicatif et que je ne peux faire cette action quotidiennement au vu du nombre de référence.
Merci encore de votre aide.
Merci pour ce retour. Le problème, c'est que mon fichier Excel est généré depuis une extr action d'un applicatif et que je ne peux faire cette action quotidiennement au vu du nombre de référence. Merci encore de votre aide.
MichD
| Excel est généré depuis une extraction d'un applicatif
**** Peux-tu élaborer davantage? Est-ce que tu peux choisir le fichier où les informations seront insérées?
Ces données problèmes se retrouvent seulement dans certaines colonnes? Lequelles? Tout le reste du fichier est OK?
Est-ce que toutes ces références ont le même nombre de caractères y compris les zéros?
Est-ce qu'une macro ferait ton affaire?
| Excel est généré depuis une extraction d'un applicatif
**** Peux-tu élaborer davantage? Est-ce que tu peux choisir le fichier où les
informations seront insérées?
Ces données problèmes se retrouvent seulement dans certaines colonnes? Lequelles?
Tout le reste du fichier est OK?
Est-ce que toutes ces références ont le même nombre de caractères y compris les zéros?
| Excel est généré depuis une extraction d'un applicatif
**** Peux-tu élaborer davantage? Est-ce que tu peux choisir le fichier où les informations seront insérées?
Ces données problèmes se retrouvent seulement dans certaines colonnes? Lequelles? Tout le reste du fichier est OK?
Est-ce que toutes ces références ont le même nombre de caractères y compris les zéros?
Est-ce qu'une macro ferait ton affaire?
MichD
Essaie ceci comme macro - traitement après avoir importé les données : Tu as quelques variables à définir dans la macro.
'---------------------------------------------------------------------------------------- Sub test()
Dim X As String, DerLig As Long, C As Range, T As Variant Dim Arr(), Sh As Worksheet, Rg As Range, Col As Long
'=========== Variables à définir ================= 'Le nombre de caractères que chaque cellule contient. Const Nbcaractères = 7
'Liste les numéros de colonnes des références Arr = Array(5, 6, 8)
'Adapte le nom de l'onglet où sont les données Set Sh = Worksheets("feuil1") '====================================================== On Error Resume Next With Sh For Each elt In Arr Col = .Columns(elt).Column DerLig = .Cells(65536, Col).End(xlUp).Row With Sh Set Rg = .Range(.Cells(1, Col), .Cells(DerLig, Col)) T = Rg.Value Rg.NumberFormat = "@" Rg.Cells.Value = T For Each C In Rg.SpecialCells(xlCellTypeConstants, 1) If Err <> 0 Then Err.Clear Exit For Else X = C.Value C.NumberFormat = "@" C.Value = X & "E" & Application.Rept(0, Nbcaractères - Len(X) - 1) End If Next End With Next End With End Sub '----------------------------------------------------------------------------------------
Essaie ceci comme macro - traitement après avoir importé les données :
Tu as quelques variables à définir dans la macro.
'----------------------------------------------------------------------------------------
Sub test()
Dim X As String, DerLig As Long, C As Range, T As Variant
Dim Arr(), Sh As Worksheet, Rg As Range, Col As Long
'=========== Variables à définir ================= 'Le nombre de caractères que chaque cellule contient.
Const Nbcaractères = 7
'Liste les numéros de colonnes des références
Arr = Array(5, 6, 8)
'Adapte le nom de l'onglet où sont les données
Set Sh = Worksheets("feuil1")
'======================================================
On Error Resume Next
With Sh
For Each elt In Arr
Col = .Columns(elt).Column
DerLig = .Cells(65536, Col).End(xlUp).Row
With Sh
Set Rg = .Range(.Cells(1, Col), .Cells(DerLig, Col))
T = Rg.Value
Rg.NumberFormat = "@"
Rg.Cells.Value = T
For Each C In Rg.SpecialCells(xlCellTypeConstants, 1)
If Err <> 0 Then
Err.Clear
Exit For
Else
X = C.Value
C.NumberFormat = "@"
C.Value = X & "E" & Application.Rept(0, Nbcaractères - Len(X) - 1)
End If
Next
End With
Next
End With
End Sub
'----------------------------------------------------------------------------------------
Essaie ceci comme macro - traitement après avoir importé les données : Tu as quelques variables à définir dans la macro.
'---------------------------------------------------------------------------------------- Sub test()
Dim X As String, DerLig As Long, C As Range, T As Variant Dim Arr(), Sh As Worksheet, Rg As Range, Col As Long
'=========== Variables à définir ================= 'Le nombre de caractères que chaque cellule contient. Const Nbcaractères = 7
'Liste les numéros de colonnes des références Arr = Array(5, 6, 8)
'Adapte le nom de l'onglet où sont les données Set Sh = Worksheets("feuil1") '====================================================== On Error Resume Next With Sh For Each elt In Arr Col = .Columns(elt).Column DerLig = .Cells(65536, Col).End(xlUp).Row With Sh Set Rg = .Range(.Cells(1, Col), .Cells(DerLig, Col)) T = Rg.Value Rg.NumberFormat = "@" Rg.Cells.Value = T For Each C In Rg.SpecialCells(xlCellTypeConstants, 1) If Err <> 0 Then Err.Clear Exit For Else X = C.Value C.NumberFormat = "@" C.Value = X & "E" & Application.Rept(0, Nbcaractères - Len(X) - 1) End If Next End With Next End With End Sub '----------------------------------------------------------------------------------------