Modification d'une VBA pour obtention d'un fichier .csv avec 3 lignes

Bonjour,

Dans notre environnement de travail, nous utilisons un tableau Excel avec des macros.

La personne qui était calée en VBA a quitté l'entreprise.

Je souhaite améliorer le tableur. Il est déjà en forme, mais comment modifier VBA pour prendre en compte mes changements, je ne sais pas trop.

Je vous partage les captures d'écran de ce qui est existant aujourd'hui, et ce que j'ai modifié ainsi que la VBA actuelle et celle que j'ai changée.

Je ne viens pas ici pour obtenir quelque chose de tout de la part de cerveau en VBA, mais je souhaiterai également acquérir un peu d'expérience sur ce sujet.

J'ai consulté les cours mais y a plein de choses dans la macro actuelle qui ne sont pas abordées.

Sur la macro, il y a un ordre à respecter sur la position des données.

La macro doit reposer sur la présence ou non de données en cellule K6/K7/K8.

Si y a quelques choses en K8 (sous entendu y a déjà des données en K6 e K7), il faut qu'en A1 à l'extraction, y est telles types de données, en A2, pareil et en A3 pareil. En suivant la position des données dans chacune des trois lignes.

Si pas de données en K8 mais en K6 et K7, alors extraction en A1 et A2.

Et si seulement en K6, alors compiler des données en A1 uniquement. J'ai vu des fonctions avec If (not) IsEmpty, avec une condition And.

Fichier excel actuel :

tableur actuel


Fichier excel futur :

tableur futur

VBA actuelle :

Sub creer_logisticoms()

Dim codeNDP, Client_Exp, Code_dest, Factur, Camion, Dossier, Code_Exp, chemin, nom_fichier_logisticom, code_ENT As String
Dim Colis, PoidsBrut, PoidsNet, Valeur
Dim ladate, Datefacture As Date
Dim mafeuille As Worksheet
chemin = "J:\Flux_Douane\" 'indication du répertoire temporaire de dépose des fichiers logisticoms, ici en prod
Set mafeuille = ActiveSheet
ThisWorkbook.Sheets("Extrac").Activate
Cells.Select
Selection.ClearContents
lig = ThisWorkbook.Sheets("Extrac").Range("A1").CurrentRegion.Rows.Count

mafeuille.Activate
If Range("F26") = "1 Exped. / 1 Fact." Then code_ENT = "DJ" Else code_ENT = "PS" 'modifier. Peu importe, ca sera du DJ
For Each c In ActiveSheet.Range("A6:A25").Cells 'ici que A6
    If c.Value <> "" Then
    Client_Exp = c.Value
    Colis = c.Offset(0, 1).Value
    PoidsBrut = c.Offset(0, 2).Value
    PoidsNet = c.Offset(0, 3).Value
    Valeur = c.Offset(0, 4).Value
    Facture = c.Offset(0, 5).Value
    Datefacture = c.Offset(0, 6).Value
    Code_Exp = c.Offset(0, 7).Value
    Code_dest = Range("D1").Value
    codeNDP = Range("G3").Value
    Camion = Range("B30").Value
    Dossier = Range("B32").Value
    SITECODE = Range("F2").Value
    If Dossier = "" Then Dossier = Camion
    ladate = Range("B28").Value
    If ladate = 0 Then ladate = Range("F28").Value
        If Code_Exp = "" Then
        MsgBox ("Pas de code exportateur créé pour " & Client_Exp & " - Arrêt de la procédure")
        Exit Sub
        End If
        If Camion = "" And Dossier = "" Then
        MsgBox ("Une référence dossier est obligatoire si pas de n° de Camion - Arrêt de la procédure")
        Exit Sub
        End If
        If Code_dest = "" Then
        MsgBox ("Aucun Destinataire indiqué - Arrêt de la procédure")
        Exit Sub
        End If
        If codeNDP = "" Then
        MsgBox ("Code NDP obligatoire pour les logisticoms - Arrêt de la procédure")
        Exit Sub
        End If

    ' copie des infos sur la feuille extrac

    If Camion = "" Then Camion = "GROUPAGE"

    ThisWorkbook.Sheets("Extrac").Range("A" & lig).Value = Facture
    ThisWorkbook.Sheets("Extrac").Range("B" & lig).Value = Dossier
    ThisWorkbook.Sheets("Extrac").Range("C" & lig).Value = CStr(ladate)
    ThisWorkbook.Sheets("Extrac").Range("D" & lig).Value = Camion
    ThisWorkbook.Sheets("Extrac").Range("E" & lig).Value = Code_dest
    ThisWorkbook.Sheets("Extrac").Range("F" & lig).Value = Code_Exp
    ThisWorkbook.Sheets("Extrac").Range("G" & lig).Value = Colis
    ThisWorkbook.Sheets("Extrac").Range("H" & lig).Value = PoidsBrut
    ThisWorkbook.Sheets("Extrac").Range("I" & lig).Value = PoidsNet
    ThisWorkbook.Sheets("Extrac").Range("J" & lig).Value = Valeur
    ThisWorkbook.Sheets("Extrac").Range("K" & lig).Value = codeNDP
    ThisWorkbook.Sheets("Extrac").Range("L" & lig).Value = CStr(Datefacture)
    ThisWorkbook.Sheets("Extrac").Range("M" & lig).Value = code_ENT
    ThisWorkbook.Sheets("Extrac").Range("N" & lig).Value = SITECODE
    lig = lig + 1

    End If
    Next

ThisWorkbook.Sheets("Extrac").Activate
ActiveSheet.Range("A1").CurrentRegion.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
nom_fichier_logisticom = Dossier & ".csv"
ActiveWorkbook.SaveAs Filename:=chemin & nom_fichier_logisticom, _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close SaveChanges:=False
ThisWorkbook.Sheets("Extrac").Activate
Cells.Select
Selection.ClearContents
Range("A1").Select
mafeuille.Activate
MsgBox ("Fichier des Logisticoms du dossier " & Dossier & " créé dans le répertoire d'importation serveur - Impression de la feuille X2")
impression
End Sub

Mes modifications ci-dessous

Dans Dim, quand y a un 1 c'est en référence à la ligne, un 2 aux données de la ligne 7 et un 3 pour la ligne 8.

Avec As String, j'ai vu que c'est que du texte, donc c'est le cas ici avec l'ajout/modification de plusieurs nouvelles références
Avec As Long, données numériques, des valeurs peuvent dépasser les 32767.

Sub creer_logisticoms_vd()

Dim codeNDP1, codeNDP2, codeNDP3, Client_Exp, Code_dest, Facture1, Facture2, Facture3, Gratuit1, Gratuit2, Gratuit3, Camion, Dossier, Code_Exp, chemin, nom_fichier_logisticom, code_ENT As String
Dim Colis, PB1, PB2, PB3, PN1, PN2, PN3, Valeur1, Valeur2, Valeur3, Devise, Usup1, Usup2, Usup3, EnteteG, Colis1, Colis2, Colis3 As Long
'PB/PN poids brut et poids net, EnteteG = tout le logisticom

Dim ladate, DateF1, DateF2, DateF3,  As Date 'F=facture

End Sub

Ensuite, pour cette partie je ne comprends pas tout pour le Dim et le Set.

Dim mafeuille As Worksheet
chemin = "J:\Flux_Integration\" 'indication du répertoire temporaire de dépose des fichiers logisticoms, ici en prod
Set mafeuille = ActiveSheet
ThisWorkbook.Sheets("Extrac").Activate
Cells.Select
Selection.ClearContents

Ici RAS

mafeuille.Activate
'Le code entreprise sera toujours DJ - Suppression PS
code_ENT = "DJ"

Là, ca se gatte... A partir de la partie commençant par ThisWorkbook, c'est l'ordre qu'il faut conserver. C'est paramétré ainsi dans la zone test, interne dans l'entreprise.

'Si ndp présente en cellule K8 alors
If Not IsEmpty(Range("K8")) Then
'NDP EN K6 ALORS METTRE EN CELLULE A1 DE L'EXTRAC
lig = ThisWorkbook.Sheets("Extrac").Range("A1").CurrentRegion.Rows.Count

'L'exportateur n'est qu'en cellule A6
For Each c In ActiveSheet.Range("A6").Cells
    Client_Exp = c.Value
    Colis1 = Range("B6").Value
    PB1 = Range("C6").Value
    PN1 = Range("D6").Value
    Valeur1 = Range("E6").Value
    Facture1 = Range("F6").Value
    DateF1 = Range("G6").Value
    Type1 = Range("H6").Value
    Gratuit1 = Range("I6").Value
    If Gratuit1 = "" Then Gratuit1 = 0 'Si la case I6 est vide alors il met un 0
    Code_Exp = Range("B2").Value
    Code_dest = Range("D2").Value
    codeNDP1 = Range("K6").Value
    Camion = Range("B11").Value
    Dossier = Range("A17").Value
    SITECODE = Range("F2").Value
    ladate = Range("K12").Value
    Usup1 = Range("M6").Value

ThisWorkbook.Sheets("Extrac").Range("A" & lig).Value = Facture1 '=ExpNum   ' copie des infos sur la feuille extrac
    ThisWorkbook.Sheets("Extrac").Range("B" & lig).Value = Dossier
    ThisWorkbook.Sheets("Extrac").Range("C" & lig).Value = CStr(ladate) 'la date de création du logisticom reprise en cellule K12
    ThisWorkbook.Sheets("Extrac").Range("D" & lig).Value = Camion
    ThisWorkbook.Sheets("Extrac").Range("E" & lig).Value = Code_dest
    ThisWorkbook.Sheets("Extrac").Range("F" & lig).Value = Code_Exp
    ThisWorkbook.Sheets("Extrac").Range("G" & lig).Value = Colis1
    ThisWorkbook.Sheets("Extrac").Range("H" & lig).Value = PB1
    ThisWorkbook.Sheets("Extrac").Range("I" & lig).Value = PN1
    ThisWorkbook.Sheets("Extrac").Range("J" & lig).Value = Valeur1
    ThisWorkbook.Sheets("Extrac").Range("K" & lig).Value = codeNDP1
    ThisWorkbook.Sheets("Extrac").Range("L" & lig).Value = CStr(DateF1) '= Date facture 1
    ThisWorkbook.Sheets("Extrac").Range("M" & lig).Value = code_ENT
    ThisWorkbook.Sheets("Extrac").Range("N" & lig).Value = SITECODE
    ThisWorkbook.Sheets("Extrac").Range("O" & lig).Value = Usup1
    ThisWorkbook.Sheets("Extrac").Range("P" & lig).Value = Range("I9").Value 'Tout le logisticom en gratuit?
    ThisWorkbook.Sheets("Extrac").Range("Q" & lig).Value = Gratuit1
    ThisWorkbook.Sheets("Extrac").Range("R" & lig).Value = Range("I10").Value 'Devise
    ThisWorkbook.Sheets("Extrac").Range("S" & lig).Value = Range("H6").Value '=CodeDoc
    ThisWorkbook.Sheets("Extrac").Range("T" & lig).Value = Range("F6").Value '=ReferenceDoc
    ThisWorkbook.Sheets("Extrac").Range("U" & lig).Value = Range("G6").Value '=DateDoc
    lig = lig + 1
    Next

Après est-ce ainsi qu'il faut poursuivre pour mettre en A2 et A3 ?

Il y a peut-être un moyen d'éviter toutes ces répétitions ?

'si pas de ndp en k8 mais ndp en celulle k7 - elseif
If IsEmpty(Range("K8")) And Not IsEmpty(Range("K7")) Then
'NDP EN K6
lig = ThisWorkbook.Sheets("Extrac").Range("A1").CurrentRegion.Rows.Count
'L'exportateur n'est qu'en cellule A6
For Each c In ActiveSheet.Range("A6").Cells
    Client_Exp = c.Value
    Colis1 = Range("B6").Value
    PB1 = Range("C6").Value
    PN1 = Range("D6").Value
    Valeur1 = Range("E6").Value
    Facture1 = Range("F6").Value
    DateF1 = Range("G6").Value
    Type1 = Range("H6").Value
    Gratuit1 = Range("I6").Value
    If Gratuit1 = "" Then Gratuit1 = 0 'Si la case I6 est vide alors il met un 0
    Code_Exp = Range("B2").Value
    Code_dest = Range("D2").Value
    codeNDP1 = Range("K6").Value
    Camion = Range("B11").Value
    Dossier = Range("A17").Value
    SITECODE = Range("F2").Value
    ladate = Range("K12").Value
    Usup1 = Range("M6").Value

ThisWorkbook.Sheets("Extrac").Range("A" & lig).Value = Facture1 '=ExpNum
    ThisWorkbook.Sheets("Extrac").Range("B" & lig).Value = Dossier
    ThisWorkbook.Sheets("Extrac").Range("C" & lig).Value = CStr(ladate) 'la date de création du logisticom reprise en cellule K12
    ThisWorkbook.Sheets("Extrac").Range("D" & lig).Value = Camion
    ThisWorkbook.Sheets("Extrac").Range("E" & lig).Value = Code_dest
    ThisWorkbook.Sheets("Extrac").Range("F" & lig).Value = Code_Exp
    ThisWorkbook.Sheets("Extrac").Range("G" & lig).Value = Colis1
    ThisWorkbook.Sheets("Extrac").Range("H" & lig).Value = PB1
    ThisWorkbook.Sheets("Extrac").Range("I" & lig).Value = PN1
    ThisWorkbook.Sheets("Extrac").Range("J" & lig).Value = Valeur1
    ThisWorkbook.Sheets("Extrac").Range("K" & lig).Value = codeNDP1
    ThisWorkbook.Sheets("Extrac").Range("L" & lig).Value = CStr(DateF1) '= Date facture 1
    ThisWorkbook.Sheets("Extrac").Range("M" & lig).Value = code_ENT
    ThisWorkbook.Sheets("Extrac").Range("N" & lig).Value = SITECODE
    ThisWorkbook.Sheets("Extrac").Range("O" & lig).Value = Usup1
    ThisWorkbook.Sheets("Extrac").Range("P" & lig).Value = Range("I9").Value 'Tout le logisticom en gratuit?
    ThisWorkbook.Sheets("Extrac").Range("Q" & lig).Value = Gratuit1
    ThisWorkbook.Sheets("Extrac").Range("R" & lig).Value = Range("I10").Value 'Devise
    ThisWorkbook.Sheets("Extrac").Range("S" & lig).Value = Range("H6").Value '=CodeDoc
    ThisWorkbook.Sheets("Extrac").Range("T" & lig).Value = Range("F6").Value '=ReferenceDoc
    ThisWorkbook.Sheets("Extrac").Range("U" & lig).Value = Range("G6").Value '=DateDoc
    lig = lig + 1
    Next

'NDP EN K7
lig = ThisWorkbook.Sheets("Extrac").Range("A2").CurrentRegion.Rows.Count
    Client_Exp = c.Value
    Colis2 = 0
    PB2 = Range("C7").Value
    PN2 = Range("D7").Value
    Valeur2 = Range("E7").Value
    Facture2 = Range("F7").Value
    DateF2 = Range("G7").Value
    Type2 = Range("H7").Value
    Gratuit2 = Range("I7").Value
    If Gratuit2 = "" Then Gratuit1 = 0 'Si la case I6 est vide alors il met un 0
    End If
    Code_Exp = Range("B2").Value
    Code_dest = Range("D2").Value
    codeNDP2 = Range("K7").Value
    Camion = Range("B11").Value
    Dossier = Range("A17").Value
    SITECODE = Range("F2").Value
    ladate = Range("K12").Value
    Usup2 = Range("M7").Value

    ThisWorkbook.Sheets("Extrac").Range("A" & lig).Value = Facture2 '=ExpNum
    ThisWorkbook.Sheets("Extrac").Range("B" & lig).Value = Dossier
    ThisWorkbook.Sheets("Extrac").Range("C" & lig).Value = CStr(ladate) 'la date de création du logisticom reprise en cellule K12
    ThisWorkbook.Sheets("Extrac").Range("D" & lig).Value = Camion
    ThisWorkbook.Sheets("Extrac").Range("E" & lig).Value = Code_dest
    ThisWorkbook.Sheets("Extrac").Range("F" & lig).Value = Code_Exp
    ThisWorkbook.Sheets("Extrac").Range("G" & lig).Value = Colis2
    ThisWorkbook.Sheets("Extrac").Range("H" & lig).Value = PB2
    ThisWorkbook.Sheets("Extrac").Range("I" & lig).Value = PN2
    ThisWorkbook.Sheets("Extrac").Range("J" & lig).Value = Valeur2
    ThisWorkbook.Sheets("Extrac").Range("K" & lig).Value = codeNDP2
    ThisWorkbook.Sheets("Extrac").Range("L" & lig).Value = CStr(DateF2) '= Date facture 2
    ThisWorkbook.Sheets("Extrac").Range("M" & lig).Value = code_ENT
    ThisWorkbook.Sheets("Extrac").Range("N" & lig).Value = SITECODE
    ThisWorkbook.Sheets("Extrac").Range("O" & lig).Value = Usup2
    ThisWorkbook.Sheets("Extrac").Range("P" & lig).Value = Range("I9").Value 'Tout le logisticom en gratuit?
    ThisWorkbook.Sheets("Extrac").Range("Q" & lig).Value = Gratuit1
    ThisWorkbook.Sheets("Extrac").Range("R" & lig).Value = Range("I10").Value 'Devise
    ThisWorkbook.Sheets("Extrac").Range("S" & lig).Value = Range("H7").Value '=CodeDoc
    ThisWorkbook.Sheets("Extrac").Range("T" & lig).Value = Range("F7").Value '=ReferenceDoc
    ThisWorkbook.Sheets("Extrac").Range("U" & lig).Value = Range("G7").Value '=DateDoc
    lig = lig + 1

'si non, sous entendu que y a que en k6 une ndp - else
Else

'NDP EN K6
lig = ThisWorkbook.Sheets("Extrac").Range("A1").CurrentRegion.Rows.Count
    Client_Exp = c.Value
    Colis1 = Range("B6").Value
    PB1 = Range("C6").Value
    PN1 = Range("D6").Value
    Valeur1 = Range("E6").Value
    Facture1 = Range("F6").Value
    DateF1 = Range("G6").Value
    Type1 = Range("H6").Value
    Gratuit1 = Range("I6").Value
    If Gratuit1 = "" Then Gratuit1 = 0 'Si la case I6 est vide alors il met un 0
    End If
    Code_Exp = Range("B2").Value
    Code_dest = Range("D2").Value
    codeNDP1 = Range("K6").Value
    Camion = Range("B11").Value
    Dossier = Range("A17").Value
    SITECODE = Range("F2").Value
    ladate = Range("K12").Value
    Usup1 = Range("M6").Value

    ThisWorkbook.Sheets("Extrac").Range("A" & lig).Value = Facture1 '=ExpNum
    ThisWorkbook.Sheets("Extrac").Range("B" & lig).Value = Dossier
    ThisWorkbook.Sheets("Extrac").Range("C" & lig).Value = CStr(ladate) 'la date de création du logisticom reprise en cellule K12
    ThisWorkbook.Sheets("Extrac").Range("D" & lig).Value = Camion
    ThisWorkbook.Sheets("Extrac").Range("E" & lig).Value = Code_dest
    ThisWorkbook.Sheets("Extrac").Range("F" & lig).Value = Code_Exp
    ThisWorkbook.Sheets("Extrac").Range("G" & lig).Value = Colis1
    ThisWorkbook.Sheets("Extrac").Range("H" & lig).Value = PB1
    ThisWorkbook.Sheets("Extrac").Range("I" & lig).Value = PN1
    ThisWorkbook.Sheets("Extrac").Range("J" & lig).Value = Valeur1
    ThisWorkbook.Sheets("Extrac").Range("K" & lig).Value = codeNDP1
    ThisWorkbook.Sheets("Extrac").Range("L" & lig).Value = CStr(DateF1) '= Date facture 1
    ThisWorkbook.Sheets("Extrac").Range("M" & lig).Value = code_ENT
    ThisWorkbook.Sheets("Extrac").Range("N" & lig).Value = SITECODE
    ThisWorkbook.Sheets("Extrac").Range("O" & lig).Value = Usup1
    ThisWorkbook.Sheets("Extrac").Range("P" & lig).Value = Range("I9").Value 'Tout le logisticom en gratuit?
    ThisWorkbook.Sheets("Extrac").Range("Q" & lig).Value = Gratuit1
    ThisWorkbook.Sheets("Extrac").Range("R" & lig).Value = Range("I10").Value 'Devise
    ThisWorkbook.Sheets("Extrac").Range("S" & lig).Value = Range("H6").Value '=CodeDoc
    ThisWorkbook.Sheets("Extrac").Range("T" & lig).Value = Range("F6").Value '=ReferenceDoc
    ThisWorkbook.Sheets("Extrac").Range("U" & lig).Value = Range("G6").Value '=DateDoc
    lig = lig + 1

Ici je devrais m'en être sorti

If Camion = "" Then
    MsgBox ("Il manque la plaque d'immatriculation du camion")
    If c.Value = "" Then
    MsgBox ("Il manque le nom de l'exportateur en cellule A6")
End If

Et enfin cette partie, je comprends pas grand chose :( et qu'il faut certainement modifier)

ThisWorkbook.Sheets("Extrac").Activate
ActiveSheet.Range("A1:A3").CurrentRegion.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
nom_fichier_logisticom = Dossier & ".csv"
ActiveWorkbook.SaveAs Filename:=chemin & nom_fichier_logisticom
ActiveWorkbook.Close SaveChanges:=False
ThisWorkbook.Sheets("Extrac").Activate
Cells.Select
Selection.ClearContents
Range("A1").Select
mafeuille.Activate
MsgBox ("Fichier des Logisticoms du dossier " & Dossier & " créé dans le répertoire d'importation serveur - Impression de la feuille X1")
impression
End Sub

J'ai fait un test, en lançant play. J'ai l'erreur suivante : Erreur de compilation, Bloc If sans End If

Merci pour votre précisieuse aide et conseil

Sans le fichier que vous a laissé votre prédécesseur en état de fonctionner, je ne vois pas comment on pourrait vous aider.
Pour commencer, je suis assez étonné que la macro "creer_logisticoms()" commence par détruire tout ce que contient l'onglet "Extrac". C'est ce que signifie le code

ThisWorkbook.Sheets("Extrac").Activate
Cells.Select
Selection.ClearContents

pour demander juste après combien de lignes sont occupées.

lig = ThisWorkbook.Sheets("Extrac").Range("A1").CurrentRegion.Rows.Count

Bonsoir Optimix,

Merci pour votre réponse et d'avoir consacré un petit peu de temps à ma demande. Je vous joins le fichier.

J'avouerais que votre premier message je comprends pas tout sur les 3 lignes sur la macro (actions qui en découlent et vous a permis de conclure ceci). Peut-être qu'avec le fichier vous trouverez réponse.

Concernant la destruction, c'est peut--être parce qu'en créant un autre fichier au format .csv, ca clear les données de l'onglet extract pour continuer à travailler dessus et créer d'autres csv avec des données différentes (selon les factures que l'on reçoit des exportateurs)

Merci par avance,

Le fichier que vous avez mis en ligne n'est pas celui que votre prédécesseur a laissé derrière lui. Le nom de l'onglet "ANCIENNE VERSION" était différent.
Avez-vous une sauvegarde de ce fichier avant que vous ne cherchiez à l'améliorer ?

Je confirme que l'onglet Extrac est un onglet temporaire. On peut s'en passer, car il est possible de créer directement le fichier CSV sans avoir recours à un copier-coller ultra-laborieux.
1) Dans la nouvelle version, j'aurais besoin que vous complétiez ou confirmiez la place exacte des champs à mettre dans le fichier csv.
- N° Facture : J2 ?
- Dossier : B12 ?
- Date de départ : L2 ou C13 si L2 est vide ?
- Camion : B11
- Code destinataire : D2
- Code expéditeur : B12 ?
- Colis : B9
- Poids Brut : C9
- Poids Net : D9
- Valeur : E9
- Code NDP : ?
- Date facture : L12
- Code ENT : toujours DJ ?
- SITECODE : F2

2) Je suppose que la cellules B2 n'est pas utile dans le fichier CSV.

3) Enfin, j'ai cru comprendre que la procédure creer_logiticoms () avait été écrite par votre prédécesseur et que creer_logiticoms_vd () était de vous. Vous confirmez ?

Une réponse aux questions que je vous avais posées m'aurait permis de comprendre que vous souhaitiez changer le format (les champs) du fichier CSV en question.

Je n'ai pas encore implémenté la fonction de sauvegarde au format CSV pour être sûr du contenu de l'onglet "Extrac". Testez la macro ci-dessous et dites-moi si le contenu est celui attendu. Ne vous occupez pas de la barre des titres, elle ne sert que pour la phase de développement.

Rechercher des sujets similaires à "modification vba obtention fichier csv lignes"