Salut !
Range("D5:E29").Select
Selectionner Plage de Cellule de D5 à E9
Selection.Copy
Copier dans le presse-papier tout le contenu
Selectionner Feuille Nommée "sauvegarde"
Notion If Then Else : Si Alors Sinon
Si tel condition est remplie Alors Faire Blabla Sibon Faire autre chose.
If Range("D5") <> "" Then :
Si la Cellule D5 n'est pas vide Alors
Range("D5").End(xlToRight).
Va en cellule D5, Va à la dernière cellule non vide à sa droite
Offset(0, 1).Select
Fait un décalage de 0 ligne et une colonne et sélectionne cette cellule
Else: Range("D5").Select : Sinon, si la condition n'est pas respectée, alors
sélectionne la Cellule D5
Active.Sheet.Paste : Copie le contenu du presse-papier précedemnt gardé en mémoire.
Et voilà, c'est une forme très simple, mais il y a d'autres manières plus évoluées.
Cette fonctionnera tant que ce cas de figure sera respecté, mais si par exemple tu avais des colonnes vides dans ton tableau, elle ne fonctionnerait plus dès le deuxième lancement.
Il faudrait alors ne plus partir de ta cellule D5, mais de la dernière colonne de ta feuille et faire un "End (xlToLeft)".
Maintenant "ActiveSheet.Paste", te copie toute la cellule, cad le contenu, la formule, le format etc...
Si tu ne voulais que la valeur il faudrait faire un Paste special=xlValue.
Le mieux pour apprendre et faire une macro, est de lancer l'enregistreur de macro, tu fais toutes tes manips manuellement, puis tu ouvres ta macro Via Vbe et tu la modifies pour soit y ajouter une boucle de test ou simplement virer les termes en trop.
@ +
Mo