[Excel] Copier plusieurs fois....
spauk
-
spauk13 Messages postés 12 Statut Membre -
spauk13 Messages postés 12 Statut Membre -
Bonjour,
je recherche une solution afin de copier x fois les données qui se trouvent dans la feuille 1 vers la feuille 2
J'ai fait une capture du tableau : http://wyzer.free.fr/images/Exemple_Excel.jpg
Et ici le fichier Excel : http://wyzer.free.fr/Classeur1.xls
Dans la colonne A il y a tous les codes de livraison (ce code correspond à une adresse dans l'AS400)
Dans la ligne 1 il y a les montants
Donc par exemple pour B4, on mettrai dans A1 sur la feuille 2 : 8
Dans B1 : 20€
Et ceci 40 fois (sur 40 lignes)
Et ainsi de suite
J'espère que je vous ai bien expliqué mon besoin
Merci par avance !!
je recherche une solution afin de copier x fois les données qui se trouvent dans la feuille 1 vers la feuille 2
J'ai fait une capture du tableau : http://wyzer.free.fr/images/Exemple_Excel.jpg
Et ici le fichier Excel : http://wyzer.free.fr/Classeur1.xls
Dans la colonne A il y a tous les codes de livraison (ce code correspond à une adresse dans l'AS400)
Dans la ligne 1 il y a les montants
Donc par exemple pour B4, on mettrai dans A1 sur la feuille 2 : 8
Dans B1 : 20€
Et ceci 40 fois (sur 40 lignes)
Et ainsi de suite
J'espère que je vous ai bien expliqué mon besoin
Merci par avance !!
A voir également:
- [Excel] Copier plusieurs fois....
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Word et excel gratuit - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment copier une vidéo youtube - Guide
2 réponses
Bonjour,
une proposition en vba :
Sélectionne la plage qui t'interesse (par exemple Feuil1!B2:H11),
appelle la macro 'détailler'
Pour ne pas ecraser des donnée sur feuil2 j'utilise la 1ère ligne libre en A donc nettoyer la feuille pour une 2nde utilisation
eric
une proposition en vba :
Sub détailler()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim lig As Long, a As Double, b As Double
Set sh1 = Worksheets("Feuil1")
Set sh2 = Worksheets("Feuil2")
For Each c In Selection
If c.Value > 0 Then
For i = 1 To c.Value
a = sh1.Cells(c.Row, 1).Value
b = sh1.Cells(1, c.Column).Value
lig = sh2.[A65536].End(xlUp).Row + 1
sh2.Cells(lig, 1) = a
sh2.Cells(lig, 2) = b
Next i
End If
Next c
End Sub
Sélectionne la plage qui t'interesse (par exemple Feuil1!B2:H11),
appelle la macro 'détailler'
Pour ne pas ecraser des donnée sur feuil2 j'utilise la 1ère ligne libre en A donc nettoyer la feuille pour une 2nde utilisation
eric