Dupliquer des lignes Excel en BVA avec une valeur multiplicateur
Résolu/Fermé
sakura56
Messages postés
4
Date d'inscription
mardi 3 mars 2015
Statut
Membre
Dernière intervention
3 mars 2015
-
3 mars 2015 à 09:10
_Gabacho - 31 janv. 2017 à 14:31
_Gabacho - 31 janv. 2017 à 14:31
A voir également:
- Dupliquer des lignes Excel en BVA avec une valeur multiplicateur
- Dupliquer ecran - Guide
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Déplacer une colonne excel - Guide
1 réponse
f894009
Messages postés
17217
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 décembre 2024
1 712
3 mars 2015 à 09:58
3 mars 2015 à 09:58
Bonjour,
Option Explicit Sub dupliquer_n_fois() Dim Derlig1 As Long, Lig As Long, Nbre As Integer, T_in() Dim Derlig2 As Long 'les valeurs vont de (A2;J523) 'autant de fois que mentionnées dans la colonne D Application.ScreenUpdating = False With Sheets(2) Derlig2 = .Columns("A").Find("", .Range("A1")).Row .Range("A2:J" & Derlig2).Clear End With With Sheets(1) Derlig1 = .Columns("A").Find("*", , , , , xlPrevious).Row For Lig = 2 To Derlig1 Nbre = .Cells(Lig, "D") T_in = .Range(.Cells(Lig, "A"), .Cells(Lig, "J")).Value With Sheets(2) Derlig2 = .Columns("A").Find("", .Range("A1")).Row .Cells(Derlig2, "A").Resize(Nbre, 10) = T_in End With Next Lig End With Sheets(2).Select End Sub
3 mars 2015 à 10:13
Définitivement je n'aurai pas réussi sans aide ... Merci beaucoup et en plus sous un délai canon
Bonne journée !
Modifié par _Gabacho le 31/01/2017 à 14:31
J'ai le même souci dans un tableau allant de A2 à N6000 et j'ai besoin que les lignes soient dupliquées autant de fois que mentionné en colonne E.
Seulement je n'arrive pas à lancer la macro décrite au dessus. J'ai essayé de l'adapter mais j'ai du faire une erreur car j'ai un message d'erreur : "Erreur d'exécution 91, variable objet ou variable de bloc With non définie".
Quelqu'un aurait -il la gentillesse de m'aider ?
Voici ma macro :
Sub dupliquer_n_fois()
Dim Derlig1 As Long, Lig As Long, Nbre As Integer, T_in()
Dim Derlig2 As Long
Application.ScreenUpdating = False
Sheets(2).Range("A2:N7000").Clear
With Sheets(1)
Derlig1 = .Columns("A").Find("*", , , , , xlPrevious).Row
For Lig = 2 To Derlig1
Nbre = .Cells(Lig, "E")
T_in = .Range(.Cells(Lig, "A"), .Cells(Lig, "N")).Value
With Sheets(2)
Derlig2 = .Columns("A").Find("", .Range("A1")).Row
.Cells(Derlig2, "A").Resize(Nbre, 14) = T_in
End With
Next
End With
Sheets(2).Select
End Sub