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 Subsi 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"