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

creation ligne en foction effectif

natacha

XLDnaute Occasionnel
Bonjour,
Je souhaiterais créer autant de ligne qu'indiquer dans une colonne avec l'intitulé correspondant.
Pour être plus claire, je vous transmets un fichier avec dans la feuille 1 mes données et en feuilles 2 ce que je souhaiterais.
Je vous remercie par avance pour votre aide.
Natacha
 

Pièces jointes

  • exemple.xls
    23 KB · Affichages: 25
  • exemple.xls
    23 KB · Affichages: 30
  • exemple.xls
    23 KB · Affichages: 30

camarchepas

XLDnaute Barbatruc
Re : creation ligne en foction effectif

Bonjour ,

@ Bonjour PierreJean

Comme ceci par exemple :

le résultat est dans la feuille Result ( A créer)

Code:
Sub Prepa()
Dim FinLigne As Long, Ligne As Long
Dim Boucle As Long, Tourne As Long
Ligne = 1
FinLigne = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
For Boucle = 1 To FinLigne
  For Tourne = 1 To Feuil1.Range("B" & Boucle).Value
    Sheets("Result").Range("A" & Ligne) = Feuil1.Range("A" & Boucle).Value
    Ligne = Ligne + 1
  Next Tourne
Next Boucle
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : creation ligne en foction effectif

Bonjour natacha

Vois si cela te convient

Edit ; Bing !!! Salut Camarchequandmeme
 

Pièces jointes

  • exemple.xls
    37 KB · Affichages: 31
  • exemple.xls
    37 KB · Affichages: 31
  • exemple.xls
    37 KB · Affichages: 30

laurent950

XLDnaute Accro
Re : creation ligne en foction effectif

Bonsoir,

Voici aussi un bout de code :
VB:
Sub test()
Dim F1 As Worksheet
Set F1 = Worksheets("Feuil1")
Dim TabRes() As Variant
TabRes = F1.Range(F1.Cells(1, 1), F1.Cells(3, 2))

Dim F2 As Worksheet
Set F2 = Worksheets("Feuil2")
Dim cpt As Long
cpt = 1

For i = 1 To UBound(TabRes, 1)
    For j = 1 To TabRes(i, 2)
        F2.Cells(cpt, 1) = TabRes(i, 1)
        cpt = cpt + 1
    Next j
Next i

End Sub

Laurent
 

Discussions similaires

Réponses
5
Affichages
283
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…