Problème format nombre après l'importation en vba d'un Tableau d'une page Web
3 réponses
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?
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
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?
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" <fredgarlon@free.fr> a écrit dans le message de news: 45aa5da4$0$291$426a74cc@news.free.fr...
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?
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?
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?
Merci pour ta réponse MichDenis...mais comment l'appliquer en VBA???
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ugwTePAOHHA.4720@TK2MSFTNGP03.phx.gbl...
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" <fredgarlon@free.fr> a écrit dans le message de news:
45aa5da4$0$291$426a74cc@news.free.fr...
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?
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?
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?
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" <fredgarlon@free.fr> a écrit dans le message de news:
45afcb16$0$21548$426a34cc@news.free.fr...
Merci pour ta réponse MichDenis...mais comment l'appliquer en VBA???
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
ugwTePAOHHA.4720@TK2MSFTNGP03.phx.gbl...
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" <fredgarlon@free.fr> a écrit dans le message de news:
45aa5da4$0$291$426a74cc@news.free.fr...
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?
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?