problème nombres stockés en tant que texte

  • Initiateur de la discussion Initiateur de la discussion jip31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jip31

Guest
bonjour

dans le fichier joint, je mets en forme un CSV pour récupérer les données vers Excel et mettre un graphique à jour automatiquement
initialement les décimales dans le CSV sont séparées par un point, les points sont remplacés par une virgule via le code mais le problème c est que les nombres copiés vers excel sont stockés en tant que texte
du coup mon graphe ne se met pas à jour 😡
que pourrais je rajouter dans mon code pour que mes décimales soient des chiffres et non du texte?
merci de votre aide
 

Pièces jointes

Re : problème nombres stockés en tant que texte

Bonjour jip,

avec ce code:
Code:
Sub CSV()
Application.ScreenUpdating = False


    'Tempdb_J'
    Workbooks.OpenText Filename:= _
        "\\TO05RES03\rossejp$\Applications\CASTOR\Indicateurs CASTOR\Graphes\CSV\201207_IndicExploitTempdb_J.csv" _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True _
        , Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1) _
        , Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
        28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1)), TrailingMinusNumbers _
        :=True
    Range("A1:AF4").Select
    Selection.Copy
    Windows("TEST.xls").Activate
    Sheets("DATA").Select
    Range("A5").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("B6:AF8").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With
    
' ci-dessous transformation au format numérique
Dim cellule As Range
For Each cellule In Range("E6:AF8")
 cellule = cellule * 1
Next cellule
    
    Windows("201207_IndicExploitTempdb_J.csv").Close
    
   
    
Application.ScreenUpdating = True

End Sub

à+
Philippe
 
Re : problème nombres stockés en tant que texte

Bonjour à tous,

un début de piste, j'ai mis le chiffre 1 en "A1"

Range("B6:AF8").Select Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A1").Select Selection.Copy
Range("B6:AF8").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False

JHA
 
Re : problème nombres stockés en tant que texte

Bonjour Jip, bonjour le forum,

Essaie comme ça :
Code:
Sub CSV()
Dim cel As Range 'décalre la variable cel
Application.ScreenUpdating = False
    'Tempdb_J'
    Workbooks.OpenText Filename:= _
        "[URL="file://\\TO05RES03\rossejp$\Applications\CASTOR\Indicateurs"]\\TO05RES03\rossejp$\Applications\CASTOR\Indicateurs[/URL] CASTOR\Graphes\CSV\201207_IndicExploitTempdb_J.csv" _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True _
        , Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1) _
        , Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
        28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1)), TrailingMinusNumbers _
        :=True
    Range("A1:AF4").Select
    Selection.Copy
        Windows("TEST.xls").Activate
    Sheets("DATA").Select
    Range("A5").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("B6:AF8").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With


    For Each cel In Range("G6:AF8") 'boucle sur toutes les cellules de la plage G6:AF8
        cel.Value = cel.Value * 1 'multiplie la valeur de la cellule par 1
    Next cel 'prochaine cellule de la boucle


    Windows("201207_IndicExploitTempdb_J.csv").Close
Application.ScreenUpdating = True
End Sub

[Édition]
Bonjour JHA, Philippe (mort de rire), on s'est croisé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
863
Retour