Traitement des données CSV

Bonjour à tous,

Je récupère un fichier csv depuis une application

Les valeurs des cellules sont renseignées par un séparateur décimal (point) et non virgule

ce qui ne permets pas d’insérer les fonctions de calcul ( Somme) (monétaire)

merci de votre aide

Bonjour,

Tu peux utiliser une procédure qui te remplace les points par des virgules :

Sub Remplacer()

    Dim Plage As Range
    Dim Colonne As Range
    Dim Cel As Range

    On Error GoTo Fin

    Set Colonne = Application.InputBox("Quelle colonne doit être convertie ?", "Conversion . --> ,", "D:D", , , , , 8)

    Set Plage = Range(Cells(2, Colonne.Column), Cells(Colonne.Cells.SpecialCells(xlCellTypeLastCell).Row, Colonne.Column))

    For Each Cel In Plage: Cel.Value = Replace(Cel.Value, ".", ","): Next

Fin:

End Sub

si tu as souvent besoin de ce type de procédure, tu peux l'enregistrer dans le classeur de macros personnelles (.xlsb). Si il n'existe pas, tu cliques sur l'onglet "Développeur" puis sur le bouton "Enregistrer une macro" dans la zone "Code" dans la ComboBox de la boite qui vient de s'ouvrir, tu choisis "Classeur de macros personnelles" puis tu clique sur OK et ensuite, tu cliques à nouveau sur le bouton "Enregistrer une macro" qui vient de changer de titre en "Arrêter l'enregistrement" et tu vas dans le VBE (Alt+F11) pour coller le code ci-dessus à la place des lignes qui ont étés créées puis tu enregistres.

Pour pouvoir l'utiliser quand tu le souhaites, tu ajoutes un bouton "Macros" à la barre d'accès rapide et tu sélectionnes, pour ce dernier, la macro "PERSONAL.XLSB!Remplacer"

Rechercher des sujets similaires à "traitement donnees csv"