Bonjour a tous,

j'ai besoin de votre aide pour faire une boucle, j'ai essayé de le faire mais en vain

Je souhaite faire une boucle qui me créer autant de feuilles que variable qui ce trouve dans une colonne d'une autre feuille

Ensuite quand les feuilles sont créer je crée des fichiers CSV en fonction des nouvelles feuilles créer précédemment.

J'ai pour l'instant réussi a faire la création de la nouvelle feuille le Nom de la feuille "NF" + valeur de la cellule A2 (de la feuille F_BdD)

le fonctionnement de la macro:
Etape 1
je crée une config dans la feuille F_BdD l'info de la col0 je prendre la valeur de D2 de la feuille "Donnée Variable" que je colle dans la colonne A et les autre colonnes B à D sont des informations fixe
Ensuite je copie toutes les valeurs de la feuille F_BdD que je colle dans une nouvelle feuille avec le nom de la feuille NF + val A2.
Etape 2
il reste a faire ensuite la conversion en csv le code je trouve dans le module2 mais pour l'instant je n'ai pas encore testé.

ci-dessous le code pour la première étape :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
'Code création des colonnes avec le contenu des cellules fixe
 
Dim Wk1 As Worksheet
Dim Wk2 As Worksheet
Dim NF As Worksheet ' Une référence à la feuille nouvellement créée
 
Dim x As Integer
 
Set Wk1 = Worksheets("F_BdD")
Set Wk2 = Worksheets("Donnée Variable")
 
'sélection de la page
Wk1.Select
 
 
'remplissage avec une boucle for
 
For x = 2 To 13
 
' cells( ligne , colonne ) la ligne évolue en fonction de x
 
Wk1.Cells(x, 1) = Wk2.Cells(2, 4).Value
Wk1.Cells(x, 2) = "CASSETTE"
Wk1.Cells(x, 3) = "CASSTETE-" & x - 1
Wk1.Cells(x, 4) = "5600"
 
 
Next x
 
 
'nom des nouvelles colonnes
 
Range("A1").Select
ActiveCell.FormulaR1C1 = "Col0"
 
Range("B1").Select
ActiveCell.FormulaR1C1 = "Col1"
 
Range("C1").Select
ActiveCell.FormulaR1C1 = "Col2"
 
Range("D1").Select
ActiveCell.FormulaR1C1 = "Col3"
 
'Sélection des données pour le copier dans une nouvelle feuil
 Cells.Select
    Selection.Copy
 
Set NF = ThisWorkbook.Worksheets.Add ' La référence est posée
 
  NF.Name = "NF" & Wk1.Range("A2").Value ' Le nom d'onglet de la nouvelle feuille est posé.
 
    ActiveSheet.Paste
 
 
End Sub
Merci encore pour votre aide.