Lors de l’importation d’un fichier texte dans une feuille de calcul Excel, malheureusement, il a conservé les virgules indésirables à la fin. Il devient vraiment difficile de supprimer des virgules supplémentaires dans les cellules. Si vous essayez de résoudre ce problème manuellement, cela prendra beaucoup de temps. Cependant, ce sera beaucoup plus facile avec le code macro.

Dans cet article, nous nous concentrerons sur la façon de supprimer les virgules indésirables et de les conserver là où elles sont nécessaires. Il est toujours préférable de commencer par nettoyer vos données afin d’éviter toute erreur à un stade ultérieur et de faire des rapports qui autrement auraient pu être très mouvementés et personne ne veut passer son temps à retravailler.

Si vous trouvez des virgules inutiles dans les données, vous pouvez les supprimer, grâce à diverses fonctions, telles que TRIM, SUBSTITUTE, FIND, LEN, REPLACE ou vous pouvez utiliser FIND & REPLACE (CTRL + H). Vous pouvez choisir parmi plusieurs méthodes pour les supprimer.

Dans cet article, nous nous concentrerons sur la façon de supprimer les virgules indésirables des fichiers CSV importés, puis de les enregistrer une fois le nettoyage terminé via le code VBA.

Question: Veuillez vous référer à l’exemple de fichier txt en pièce jointe. J’ai besoin d’un code vb pour supprimer les 8 derniers caractères de la ligne 5 Pour plus d’informations sur la question, vous pouvez cliquer sur ce http://www.excelforum.com/excel-programming-vba-macros/1092402-vb-code-to -delete-last-character.html [lien]

Voici un instantané du fichier du bloc-notes:

img1

La ligne n ° 5 contient le texte suivant dans « RX408282,20150630 ,,,,,,,, »

alors qu’il doit être « RX408282,20150630 » * et en même temps le code VBA ne doit pas supprimer la virgule dans les 4 lignes ci-dessus.

Pour obtenir le code, nous devons suivre les étapes ci-dessous pour lancer l’éditeur VB:

Cliquez sur l’onglet Développeur Dans le groupe Code, sélectionnez Visual Basic

img2

  • Copiez le code ci-dessous dans le module standard

Sub test()

Dim fn As String, txt As String

fn = Application.GetOpenFilename("TextFiles,*.txt")

If fn = "" Then Exit Sub

txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll

With CreateObject("VBScript.RegExp")

.Global = True: .MultiLine = True

.Pattern = ",+$"

Open Replace(fn, ".txt", "_Clean.txt") For Output As #1

Print #1, .Replace(txt, "")

Close #1

End With

End Sub

img3

===

Explication du code:

  • Le code ci-dessus vous demandera d’abord de sélectionner le fichier où il se trouve

===

img4

===

Après l’exécution du code, nous obtenons un fichier de sortie avec le nom * Test_Clean

img5

  • Pour vérifier si le code fonctionne correctement ou non; ouvrons le fichier .txt et visualisons les résultats

img6

Nous pouvons voir la dernière ligne, c’est-à-dire la ligne n ° 5, qui avait auparavant des virgules indésirables à la fin a été corrigée maintenant Conclusion: * De cette façon, nous pouvons supprimer des virgules supplémentaires d’un dossier spécifié, puis enregistrer les données correctes dans un autre fichier de bloc-notes.

image 48 If you liked our blogs, share it with your friends on Facebook. And also you can follow us on Twitter and Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]