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

Problème format nombre après l'importation en vba d'un Tableau d'une page Web

3 réponses
Avatar
fred
Bonjour,
J'ai un souci en vba avec l'importation d'un Tableau d'une page Web.
Lorque j'importe des nombres de la Table j'ai un problème de format par
exemple :
avec le nombre 0,978 c'est ok mais si j'ai 1,060 le nombre importé appparait
sous 1060.
J'ai tenté de mettre
Selection.NumberFormat = "#,#0.00" mais le nombre importé est 1060,00 ou
bien
Selection.NumberFormat = "#,000" le nombre apparait bien en 1,060 mais sa
valeur est 1060.
Les nombre < 1 (ceux là sont en format texte) apparaissent correctement
ainsi que leur valeur, mais les nombres > 1 peuvent apparaitre correctement
ave le NumberFormat = "#,000" mais leur valeur est fausse!
Comment faire?

3 réponses

Avatar
MichDenis
Ce qui t'arrive est "normal". Dans ta page Web, la virgule sert en même temps
de séparateur décimale et de séparateur de milliers. Quand tu importes tes
données dans un fichier Excel, Excel "pense" que le séparateur "," est le
séparateur décimale et agit en conséquence.

Tu peux insérer une colonne ou utiliser une nouvelle colonne et
utiliser cette formule pour transformer tes données...J'ai supposé
que tes données étaient en colonne C:C et tu recopies la formules
sur l'ensemble de la plage.

=SI(ENT(C1)=0;C1;SUBSTITUE(C1;",";"")*1)


"fred" a écrit dans le message de news: 45aa5da4$0$291$
Bonjour,
J'ai un souci en vba avec l'importation d'un Tableau d'une page Web.
Lorque j'importe des nombres de la Table j'ai un problème de format par
exemple :
avec le nombre 0,978 c'est ok mais si j'ai 1,060 le nombre importé appparait
sous 1060.
J'ai tenté de mettre
Selection.NumberFormat = "#,#0.00" mais le nombre importé est 1060,00 ou
bien
Selection.NumberFormat = "#,000" le nombre apparait bien en 1,060 mais sa
valeur est 1060.
Les nombre < 1 (ceux là sont en format texte) apparaissent correctement
ainsi que leur valeur, mais les nombres > 1 peuvent apparaitre correctement
ave le NumberFormat = "#,000" mais leur valeur est fausse!
Comment faire?
Avatar
fred
Merci pour ta réponse MichDenis...mais comment l'appliquer en VBA???

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

Ce qui t'arrive est "normal". Dans ta page Web, la virgule sert en même
temps
de séparateur décimale et de séparateur de milliers. Quand tu importes tes
données dans un fichier Excel, Excel "pense" que le séparateur "," est le
séparateur décimale et agit en conséquence.

Tu peux insérer une colonne ou utiliser une nouvelle colonne et
utiliser cette formule pour transformer tes données...J'ai supposé
que tes données étaient en colonne C:C et tu recopies la formules
sur l'ensemble de la plage.

=SI(ENT(C1)=0;C1;SUBSTITUE(C1;",";"")*1)


"fred" a écrit dans le message de news:
45aa5da4$0$291$
Bonjour,
J'ai un souci en vba avec l'importation d'un Tableau d'une page Web.
Lorque j'importe des nombres de la Table j'ai un problème de format par
exemple :
avec le nombre 0,978 c'est ok mais si j'ai 1,060 le nombre importé
appparait
sous 1060.
J'ai tenté de mettre
Selection.NumberFormat = "#,#0.00" mais le nombre importé est 1060,00 ou
bien
Selection.NumberFormat = "#,000" le nombre apparait bien en 1,060 mais sa
valeur est 1060.
Les nombre < 1 (ceux là sont en format texte) apparaissent correctement
ainsi que leur valeur, mais les nombres > 1 peuvent apparaitre
correctement
ave le NumberFormat = "#,000" mais leur valeur est fausse!
Comment faire?





Avatar
MichDenis
Essaie ceci en adaptant le nom de la feuille et de la plage
de cellules concernée.

'--------------------------------
Sub test()

Application.EnableEvents = False
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If Int(C) = 0 Then
C.Value = C
Else
C.Value = Application.Substitute(C, ".", "") * 1
End If
Next
End With
Application.EnableEvents = True
End Sub
'--------------------------------


"fred" a écrit dans le message de news:
45afcb16$0$21548$
Merci pour ta réponse MichDenis...mais comment l'appliquer en VBA???

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

Ce qui t'arrive est "normal". Dans ta page Web, la virgule sert en même
temps
de séparateur décimale et de séparateur de milliers. Quand tu importes tes
données dans un fichier Excel, Excel "pense" que le séparateur "," est le
séparateur décimale et agit en conséquence.

Tu peux insérer une colonne ou utiliser une nouvelle colonne et
utiliser cette formule pour transformer tes données...J'ai supposé
que tes données étaient en colonne C:C et tu recopies la formules
sur l'ensemble de la plage.

=SI(ENT(C1)=0;C1;SUBSTITUE(C1;",";"")*1)


"fred" a écrit dans le message de news:
45aa5da4$0$291$
Bonjour,
J'ai un souci en vba avec l'importation d'un Tableau d'une page Web.
Lorque j'importe des nombres de la Table j'ai un problème de format par
exemple :
avec le nombre 0,978 c'est ok mais si j'ai 1,060 le nombre importé
appparait
sous 1060.
J'ai tenté de mettre
Selection.NumberFormat = "#,#0.00" mais le nombre importé est 1060,00 ou
bien
Selection.NumberFormat = "#,000" le nombre apparait bien en 1,060 mais sa
valeur est 1060.
Les nombre < 1 (ceux là sont en format texte) apparaissent correctement
ainsi que leur valeur, mais les nombres > 1 peuvent apparaitre
correctement
ave le NumberFormat = "#,000" mais leur valeur est fausse!
Comment faire?