Bonjour la commuauté !
Après quelques heures de programmation (qui n'auraient pris que quelques minutes aux membres experts de ce forum - mais il faut bien garder le plaisir de la découverte ), je sèche sur un problème/
But de mon fichier :
Analyser la colonne H, qui reprend des quantités.
- Mon code remplace les vides par des 0 et supprime les lignes avec un 0
- si la quanttié est = 1, rien ne se passe
- si la quantité est > 1 (et on va dire égale à une variable X), le code insère X lignes en-dessous
Cela fonctionne (c'est déjà ça ).
Ma question :
Je voudrais pouvoir copier la ligne où la quantité est >1 et insérer X fois la même lignes en dessous.
en gros plutôt qu'insérer X lignes vide, il faudrait pouvoir insérer X fois un duplicat de la ligne en cours d'analyse.
Je précise que toutes les lignes du tableau (406, valeur figée) sont différentes.
Le code devrait donc partir de la ligne 406 et dès qu'il voit une valeur dans la colonne H qui est >1, copier la ligne et l'insérer X fois en dessous.
Et ainsi de suite jusqu'en haut.
Je pense qu'il ne manque pas grand chose :
J'espère que ma question est plus ou moins claire et que quelqu'un pourra m'aider
Merci !
Après quelques heures de programmation (qui n'auraient pris que quelques minutes aux membres experts de ce forum - mais il faut bien garder le plaisir de la découverte ), je sèche sur un problème/
But de mon fichier :
Analyser la colonne H, qui reprend des quantités.
- Mon code remplace les vides par des 0 et supprime les lignes avec un 0
- si la quanttié est = 1, rien ne se passe
- si la quantité est > 1 (et on va dire égale à une variable X), le code insère X lignes en-dessous
Cela fonctionne (c'est déjà ça ).
Ma question :
Je voudrais pouvoir copier la ligne où la quantité est >1 et insérer X fois la même lignes en dessous.
en gros plutôt qu'insérer X lignes vide, il faudrait pouvoir insérer X fois un duplicat de la ligne en cours d'analyse.
Je précise que toutes les lignes du tableau (406, valeur figée) sont différentes.
Le code devrait donc partir de la ligne 406 et dès qu'il voit une valeur dans la colonne H qui est >1, copier la ligne et l'insérer X fois en dessous.
Et ainsi de suite jusqu'en haut.
Je pense qu'il ne manque pas grand chose :
Code:
Set r = Range("A:H")
Set count = Range("H:H")
For n = 406 To 4 Step -1
temp = Range("H" & n) 'prend la valeur de la cellule H
' c'est ici que je voudrais pouvoir copier la ligne entière "n" et l'insérer en la dupliquant en dessous.
' le code ici insère "temp - 1" ligne en dessous --< il faudrait que ce qu'il insère une copie de la ligne où n>1
If temp > 1 Then
Rows(n + 1 & ":" & n + temp - 1).Insert Shift:=xlDown 'insère "temp-1" ligne en dessous de ma ligne n
End If
Next n
J'espère que ma question est plus ou moins claire et que quelqu'un pourra m'aider
Merci !