Inserer une virgule àpres la seconde virgule trouvée

Bonsoir le forum

J' ai un fichier de plus de 5000 lignes, et je voudrais qu' en balayant le fichier, qu il y ait une insertion d' une virgule après la deuxième virgule trouvé.

Merci d' avance pour l' aide

Cdt

valo

Bonjour Valo

Cela ressemble à un fichier CSV dans lequel on veut ajouter une colonne, Pourquoi ne pas faire les 3 opérations

1- charger le fichier CSV via le menu "Obtenir des Données"/ "A partir d'un fichier"/ "Fichiers CSV ou texte"

2- Accueil / Insérer/ Insérer Colonne

3- Fichier / Enregistrer au format CSV

Bonjour,

Cette macro t'aidera peut être :

Sub InsertComma()
    Dim cell As Range
    Dim txt As String
    Dim pos1 As Integer, pos2 As Integer

    For Each cell In Range("A1:A5000")
        txt = cell.Value
        pos1 = InStr(1, txt, ",")
        pos2 = InStr(pos1 + 1, txt, ",")

        If pos2 > 0 Then
            cell.Value = Left(txt, pos2) & "," & Mid(txt, pos2 + 1)
        End If
    Next cell
End Sub

Cordialement,
Parrish

Bonsoir le le forum

Scraper non ce n 'est pas un fichier csv, la macro de Parrish a été testé et résultat OK.

Merci de m' avoir répondu et de me donner une solution pour résoudre mon pb

Cordialement

Valo

Bonjour à tous,

Merci de mettre le sujet en résolu dans ce cas!

merci Valo de la réponse

des virgules dans une colonne excel, j'y penserai la prochaine fois

Bonjour…

«Merci de mettre le sujet en résolu dans ce cas !»

Je pense que cette note ne devrait plus figurer dans les messages car le sujet risque de ne plus être lu et alors échapper aux lecteurs qui auraient pu être intéressés par le sujet ou une des réponses données.

la macro de Parrish a été testé et résultat OK

Il a trouvé sa réponse

Au cas si c'est pas le cas a tester

Sub InsererVirguleApresDeuxiemeVirgule()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    ' Spécifiez la feuille de calcul à traiter (changez "Feuil1" par le nom de votre feuille)
    Set ws = ThisWorkbook.Sheets("Feuil1")

    ' Trouvez la dernière ligne avec des données dans la colonne A (ou toute autre colonne que vous souhaitez utiliser)
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ' Parcourez chaque ligne à partir de la ligne 1 jusqu'à la dernière ligne avec des données
    For i = 1 To lastRow
        Dim cellValue As String
        Dim position As Long

        ' Lisez la valeur dans la cellule
        cellValue = ws.Cells(i, 1).Value

        ' Trouvez la position de la deuxième virgule
        position = InStr(InStr(1, cellValue, ",") + 1, cellValue, ",")

        ' Vérifiez si une deuxième virgule a été trouvée
        If position > 0 Then
            ' Insérez une virgule après la deuxième virgule
            ws.Cells(i, 1).Value = Left(cellValue, position) & "," & Mid(cellValue, position + 1)
        End If
    Next i
End Sub
Rechercher des sujets similaires à "inserer virgule seconde trouvee"