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 :
Merci encore 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
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
Partager