Exporter des données d'un tableau Excel vers un fichier csv

Bonjour à tous,

Je débute en VBA et je n'arrive pas à terminer une macro.

Je dois extraire certaines données d'un tableau directement vers un fichier csv.

J'ai pu créer un bouton qui m'envoi toutes les données dans ce fichier et celui-ci s'ouvre à la fin avec Notepad++.

Mon problème c'est que je souhaiterais ne pas recopier les lignes, si il y a le mot "ABSENT" dans la colonne C du tableau.

Voici mon code :

Private Sub SAVE_Liste_Click()

Dim Plage As Object, oL As Object, oC As Object, Tmp As String

Set Plage = Worksheets("ONGLET_1").Range("a2:g" & Worksheets("ONGLET_1").Range("C65000").End(3).Row)

Open "Liste.csv" For Output As #1

For Each oL In Plage.Rows

Tmp = ""

For Each oC In oL.Cells

Tmp = Tmp & CStr(oC.Text) & ";"

Next

Print #1, Tmp

Next

Close

Shell "C:\Program Files (x86)\Notepad++\notepad++.exe " & "C:\Users\" & Environ("username") & "\Documents\Liste.csv", vbNormalFocus

End Sub

Dans le Forum, je trouve des exemples avec condition "if" mais rien qui s'adapte à mon code.

Si quelqu'un peut m'aider je le remercie par avance !

Bonsoir,

Ci-joint une proposition à tester.

Pour la prochaine fois, merci de fournir un fichier en exemple

Bonne soirée

Bouben

336exportexcelcsv.xlsm (19.30 Ko)

Bonjour Bouben,

Un tout grand merci pour ce code, c'est exactement ce qu'il me fallait !

Pour que je comprenne, pourrais-tu m'expliquer à quoi sert la ligne Debug.Print Tmp ?

Dans mon fichier, j'avais mis le code dans la page correspondant à mon tableau.

Je vois que dans ton fichier, celui-ci est dans un module.

Quelle est la différence entre ces deux solutions ?

Merci encore de ton aide.

Bonsoir,

La réponse aux 2 questions :

- Debug.Print Tmp

=> la ligne peut être supprimée

- module

=> en gros, c'est pareil

Bonne soirée

Bouben

Bonjour Bouben,

Merci beaucoup pour ces précisions.

Bonne journée !

Rechercher des sujets similaires à "exporter donnees tableau fichier csv"