Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Créer des fichiers CSV en fonction du liste de variables d'une feuille excel

undo74

XLDnaute Nouveau
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:
'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.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Undo,
Un essai avec le peu que j'ai compris, mais au moins ça ne plante pas :
VB:
Sub essai()
'Code création des colonnes avec le contenu des cellules fixe
Dim Wk1 As Worksheet, Wk2 As Worksheet, 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") = "Col0"
Range("B1") = "Col1"
Range("C1") = "Col2"
Range("D1") = "Col3"

'Sélection des données pour le copier dans une nouvelle feuil
[A1].CurrentRegion.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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…