changer un point par un virgule et effacer des termes automatiquement

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 !

babou466

XLDnaute Junior
Bonjour,
suite à un problème d'extraction de données lors d'une analyse dsc en laboratoire, je me retrouve dans l'incapacité de fournir un graphique. En effet, il me faudrait 2 colonnes de valeurs avec des virgules indiquant les parties décimales et j'ai à l'heure actuelle plus de 1000 valeurs sous le format suivant par cellule:
53.666 22.69184

avec d'abord 3 espaces, puis 4 entre les 2 chiffres.

Je me demandais s'il n'existe pas sous excel une fontion permettant dans un premier temps de remplacer tout les points par des virgules, et dans un second temps s'il n'est pas possible de supprimer tout les premiers chiffres afin de faire 2 colonnes distinctes avec chacun des nombres?

Merci d'avance à ceux qui pourront éventuellement me renseigner,
bonne soirée dans tout les cas et merci de m'avoir lu!

Je vous joins 2 fichiers: le problème est sur le fichier RET alors que le second est le résultat attendu
 

Pièces jointes

Dernière édition:
Re : changer un point par un virgule et effacer des termes automatiquement

Je suis vraiment impressionnée! Merci beaucoup! Une partie de mon problème est résolue grâce à vous!

Il me faut maintenant découvrir comment changer le point en virgule pour être compatible avec le fichier PREPVERRE et pouvoir faire un graphique avec les 2 analyses comparatives.
 
Re : changer un point par un virgule et effacer des termes automatiquement

Bonsoir.

L'enregistreur de macro me donne ce code, à tester sur RET :
VB:
Sub Macro1()
                    
    Columns("A:A").Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Space:=True
End Sub

PS : Bonsoir, CISCO
 
Re : changer un point par un virgule et effacer des termes automatiquement

Bonsoir

J'ai oublié de changer le point en virgule, mais je pense que tu y arriveras en utilisant la fonction SUBSTITUE, un peu comme dans mon précédent fichier. Si ce n'est pas le cas, reviens nous poser des questions.

@ plus
 
Re : changer un point par un virgule et effacer des termes automatiquement

Bonsoir,

Je suis arrivé a faire le découpage avec une variable tableau, en faite lorsque je regarde dans la fenêtre d’exécution avec Debug.Print (aucune erreur) mais lorsque je transfert les donner il n’y a plus le même résultat.

Avez-vous une solution car cela demeure un mystère pour moi.

Code :

VB:
Sub test()
 With ActiveSheet
     Dim T() As Variant
     T = .Range(.Cells(6, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value
     Dim i As Integer, nb As Integer, j As Integer
     Dim un As Variant, res As Variant
     nb = UBound(T)
     ReDim res(1 To nb, 1 To 2)
     For i = 1 To nb
     un = Split((Replace(T(i, 1), ".", ",")), "    ")
      For j = 0 To UBound(un)
       'res(i, j + 1) = Trim(res(i, j + 1)) & " " & un(j)
       res(i, j + 1) = un(j)
       Debug.Print res(i, j + 1)
      Next
    Next
    ' Worksheets("Feuil1").Range("B7").Resize(UBound(res, 1), UBound(res, 2)) = res
    ' Application.Trim(Application.Transpose(TR))
     Worksheets("Feuil1").Range("B7").Resize(UBound(res, 1), UBound(res, 2)) = Application.Trim(res)
     End With
  End Sub

Je remercie se forum est les gens qui contribue à toujours trouver des solutions est des astuces toujours plus enrichissante les unes que les autres.

Laurent
 

Pièces jointes

Re : changer un point par un virgule et effacer des termes automatiquement

Bonsoir à tous

Une autre voie : Données/Convertir
(qui s'utilise aussi très bien sans macros 😉 )

Ici pour l'exemple appliquée au cellules A6:A8

VB:
Sub Macro1()
'code à peine modifié issu de l'enregisteur de macro
Range("A6:A8").TextToColumns Destination:=Range("B6"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 9), Array(2, 1), Array(3, 1)), DecimalSeparator:=".", _
        TrailingMinusNumbers:=True
Range("B6:C8").NumberFormat = "0.00000"
End Sub

babou466
Fais-moi savoir si aller plus loin dans cette voie t'intèresse.
Merci
 
Re : changer un point par un virgule et effacer des termes automatiquement

Bonsoir

J'ai oublié de changer le point en virgule, mais je pense que tu y arriveras en utilisant la fonction SUBSTITUE, un peu comme dans mon précédent fichier. Si ce n'est pas le cas, reviens nous poser des questions.

@ plus


Merci à vous tous!
j'ai fait comme vous me suggériez avec la fonction simple suivante:*
=SUBSTITUE(H6;"."; ",")
 
Re : changer un point par un virgule et effacer des termes automatiquement

J'ai maintenant un autre soucis...
après avoir utilisé la fonction substitute pour changer mes points en virgules, mes valeurs affichées sont correctes, mais valent 0 quand je tente de faire mon graphique...je vous joins mon fichier, il faut aller dans l'onglet "comparaison"

Je n'arrive pas à comprendre d'où vient le problème, si quelqu'un pouvait m'aiguiller, merci d'avance et bonne journée!
 

Pièces jointes

- 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

Discussions similaires

Retour