Macro: Pb sur un code insertion de ligne
Bonjour a tous,
Je souhaite inserer des lignes sous conditions ;
si la cellule G7 est vide, inserer une ligne en dessous en y copiant la plage A7:E7
Si la cellule G7 n'est pas vide, inserer 2 lignes en dessous en y copiant la plage A7:E7
Le tableau:
DATE CHQ REF DESCRIPTION INV'S PD BANKED NET OF VAT
xxxxx xxxx xxxxxxx x x Non vide
aaaaa aa a aaa a Vide
cc ccc c c c Non vide
Le resultat souhaite:
DATE CHQ REF DESCRIPTION INV'S PD BANKED NET OF VAT VAT
xxxxx xxxx xxxxxxx x x Non vide
xxxxx xxxx xxxxxxx x x
xxxxx xxxx xxxxxxx x x
aaaaa aa a aaa a Vide
aaaaa aa a aaa a
cc ccc c c c Non vide
cc ccc c c c
cc ccc c c c
Une des solutions que j'ai trouve pour realiser la commande: (pas terrible)
Inserer une ligne entre chaque sans condition particuliere
Code:
1 2 3 4 5 6 7
| Range("A50").Select
Do Until ActiveCell.Row = 1
'Insert blank row.
ActiveCell.EntireRow.Insert Shift:=xlDown
'Move up one row.
ActiveCell.Offset(-1, 0).Select
Loop |
et ensuite faire une condition simple si la cellule n'est pas vide (je n'arrive pas a faire avec Else. et en plus je n'ai pas reussi a copier les cellules par la suite.)
Code:
1 2 3 4
| Dim f As Integer
For f = Cells(50, 1).End(xlUp).Row To 1 Step -1
If Cells(f, 7).Value <> "" Then Cells(f + 1, 1).EntireRow.Insert
Next f |
Le but est d'inserer une ligne en dessous a la condition que la cellule de la ligne superieure colonne 7 n est pas vide.
Le code fonctionne correctement mais je souhaite faire un copier coller de la plage A(x-1):E(x-1) dans la nouvelle ligne inserer.
Ensuite j'aurais juste a creer une condition qui rempli les plages encore vide par la oplage de la cellule superieure.
Le truc peut paraitre complexe pour vous. Perso, je debute et je galere pas mal. Alors, si quelqu'un reussit a completer mon code ou alors a en creer un pour obtenir le tableau souhaite ca serait vraiment cool.
Merci d'avance a vous tous.
Monteninho