Dupliquer plusieurs ligne d'une feuille en fonction d'une variable

Bonjour,

Je souhaiterais dupliquer 26 lignes (lignes 29 à 55), X fois en fonction de si la colonne B dans la feuille "Liste" est remplis et n'est pas égale à " " (vide).

Si c'est égal à vide alors arrêter la macro

Autre paramètre à prendre en compte j'ai une formule dans la colonne A identifiée en jaune qui me sert à faire plusieurs recherche dans mon tableau de base (plusieurs colonnes non présente dans l'exemple).

Je vous mets le fichier comme exemple.

Merci pour votre aide !!!

15test-fichier.xlsx (12.46 Ko)

Bonjour et

Une premiere ébauche (correspond a la demande mais resultat attendu pas terrible)

11test-fichier2.xlsm (18.88 Ko)

La macro a lancer depuis la Module1.

Sub DupliqueLigne()

'Lignes a copier
Set LigneClasse = Sheets("Analyse").Rows("29:55")

'Derniere matiere
DerLigneMatiere = Sheets("Liste").Cells(Rows.Count, 2).End(xlUp).Row

'Pour les lignes (feuille Liste) de la ligne 2 a la derniere ligne (Anglais a Sport)
For LigneMatiere = 2 To DerLigneMatiere
    'On copie les lignes 29 a 55 de la feuille Analyse
    LigneClasse.Rows.Copy
    'On va a la derniere ligne de la feuille analyse contenant des données
    DerLigneClasse = Sheets("Analyse").Cells(Rows.Count, 2).End(xlUp).Row + 1
    'On insert les lignes copié
    Sheets("Analyse").Rows(DerLigneClasse).Insert Shift:=xlDown
    'On passe a la ligne suivante dans la feuille liste
Next LigneMatiere
End Sub

On peut tricher en modifiant la ligne de code :

For LigneMatiere = 2 To DerLigneMatiere

En remplacant le 2 par un 4 mais on peut faire une procedure plus propre
Si on créé toutes les lignes sans passer par une copie des lignes 29 à 55

A+

Rechercher des sujets similaires à "dupliquer ligne feuille fonction variable"