Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de données alphanumérique interprété en chiffre puissance

4 réponses
Avatar
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 ?

Merci par avance de votre aide.

Cordialement.
Alex

4 réponses

Avatar
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!
Avatar
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.
Avatar
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?
Avatar
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
'----------------------------------------------------------------------------------------