Macro pour multiplier les lignes (par n) selon une valeur (n) comprise dans une case

dapekone

XLDnaute Nouveau
Bonjour à toutes et à toutes,

J'ai besoin d'effectuer cette manip pour avancer dans mes travaux.

Pour l'instant, j'ai des lignes qui correspondent à des lots : pour chacune d'entre elles, on a "n" exemplaires (colonne "H").
J'aimerais multiplier chaque ligne par le nombre d'exemplaire en "H" (une ligne ne représenterait plus un lot, mais un seul exemplaire).
Vous avez un échantillon en PJ :
Par exemple : en ligne 5, j'ai 133 exemplaires (colonne H), je souhaiterais 133 lignes (identiques à la ligne 5) ; idem pour la ligne 6, je souhaiterais 818 lignes (qui reprennent toutes les infos de la ligne 6). Les valeurs ne doivent pas être modifiées.

Pouvez-vous m'indiquer quelle macro pourrait effectuer cette opération? (sachant que le fichier originel fait plus de 500 lignes).

(petit problème, c'est qu'il y a des valeurs non numériques : inc. (soit inconnues), mais on peut modifier en valeurs numériques (1 par ex)).

Je vous remercie par avance pour votre aide, vous m’ôtez une belle épine du pied!

Dapek
 

Pièces jointes

  • TRESORS_FRANCE.xlsx
    11.5 KB · Affichages: 104

Efgé

XLDnaute Barbatruc
Re : Macro pour multiplier les lignes (par n) selon une valeur (n) comprise dans une

Bonjour dapekone
Une proposition :
VB:
Sub Ajout()
Dim I&
Application.ScreenUpdating = False
With Sheets("Sheet1")
    For I = .Cells(.Rows.Count, 1).End(3).Row To 2 Step -1
        If IsNumeric(.Cells(I, 8).Value) And .Cells(I, 8) > 1 Then
            .Rows(I).Copy
            .Rows(I).Resize(.Cells(I, 8).Value - 1, 1).Insert Shift:=xlDown
        End If
    Next I
End With
Application.ScreenUpdating = True
End Sub
Cordialement
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa