Bonjour à tous !
Je souhaite exporter une plage de données d'un tableau Excel vers un fichier .csv grâce à la commande print.
J'ai créé un bouton avec une macro qui fonctionne et qui me copie toutes les données vers un fichier csv :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub Bouton_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 "Nomdefichier.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\Nomdefichier.csv", vbNormalFocus End Sub
Mon problème c'est que je souhaiterais ne pas recopier les lignes du tableau lorsque le mot "NU" se trouve dans la colonne C.
J'ai essayé d'inclure une condition :
Apparemment ma syntaxe n'est pas bonne mais je n'arrive pas à comprendre où est mon erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 For Each oL In Plage.Rows Tmp = "" For Each oC In oL.Cells While Cells(oL, 3).Value <> NU 'ajout de la commande While Tmp = Tmp & CStr(oC.Text) & ";" Wend 'ajout d'un code de fin Next
Si quelqu'un peut m'aider, je le remercie par avance !
Partager