Je souhaiterais pouvoir compléter un tableau A en lui rajoutant, au besoin des lignes supplémentaires ( par insertion ) ou en en supprimant quelques unes.
Et surtout, je souhaiterais que toute cette "zone de lignes" soit clônée sur une feuille B.
Sur le modèle simplifié que j'ai joint, la "zone" ( colorée en orange pour plus de compréhension ) pourrait donc en fonction des besoins être agrandie ou diminuée en nombre de lignes.
Je ne parviens tout simplement pas à trouver une fonction ou une macro qui me permettrait de la clôner en B, sans que ni l'entête du tableau ni la ligne du total ne soient modifiées sur B.
Le plus simple est de nommerTOTAL la cellule contenant "TOTAL".
Puis mettre cette macro très simple dans le code de la feuille B :
Code:
Private Sub Worksheet_Activate()
'Feuil1 est le CodeName de la feuille source
Feuil1.Range("A2:D2", [TOTAL]).Copy [A2]
Rows([TOTAL].Row + 1 & ":" & Rows.Count).Delete
End Sub
Elle s'exécutera chaque fois que la feuille B est activée.
Si les lignes ont des hauteurs différentes, mieux vaut copier les lignes entières :
Code:
Private Sub Worksheet_Activate()
'Feuil1 est le CodeName de la feuille source
Feuil1.Rows("2:" & [TOTAL].Row).Copy [A2]
Rows([TOTAL].Row + 1 & ":" & Rows.Count).Delete
End Sub
Fichier (2).
J'ai oublié de rappeler que sur Excel 2007 il ne faut pas enregistrer le fichier en .xlsx mais en .xlsm
A noter que si l'on veut insérer une ligne juste au-dessous de la ligne 1 ou juste au-dessus de la ligne 13 (TOTAL) il faut modifier la formule en B13 :