Bonsoir,
voilà un extrait trés abrégé de mon code pour faire un export txt. J'ai besoin de gérer un champ en + (COD_REGROUPEMENT) et de faire 4 passages :
Si COD_REGROUPEMENT=1 alors ouvre fichier 1 et fais les travaux,
Si COD_REGROUPEMENT=2 alors ouvre fichier 2 et fais les travaux,
....
jusqu'à si COD_REGROUPEMENT=4
Voila mon code actuel : puis-je éviter de recopier 4 fois les parties comprises entre les limites en rouge ?:
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Dim oDb As DAO.Database Dim oRst As DAO.Recordset Set oDb = CurrentDb marequete = "SELECT * FROM Commandes_Nomades" Set oRst = oDb.OpenRecordset(marequete) NBF = oRst.RecordCount Dim Var1, Var2 As Variant Open "C:\SQL_NOMADES\envoiFTP\Bons_Commande.txt" For Output As #1 I = 1 While Not oRst.EOF 'lecture de la ligne et récup des champs Var0 = oRst.Fields(0) 'num ordre TEMPO = Var0 Var3 = oRst.Fields(3) ' code client 13 car livré Var4 = oRst.Fields(4) 'DATE PIECE 8c ' et ainsi de suite sur tous mes champs voulus Var38 = oRst.Fields(38) ' COD_REGROUPEMENT If TEMPO = NUMORDVERIF Then ' si tempo est égal à NUM_ORD donc c'est une ligne de détails ' ici mes formatages Print #1, machaine End If If TEMPO <> NUMORDVERIF Then ' si tempo est diff de NUM_ORD donc nouvel entête ' ici mon autre formatage Print #1, machaine NUMORDVERIF = Var0 End If I = I + 1 oRst.MoveNext Wend oRst.Close Close #1
Thibault
Partager