Macro Excel
Aussie
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
J'ai cree sur Excel une grande feuille de donnees (20 colonnes et 31 lignes) comprenant des lettres et des numeros. Je souhaiterais a l'aide d'une macro tout effacer d'un seul clic et si possible creer une copie de cette feuille avant de l'effacer. de cette facon, j'aurais une sauvegarde de la base de donnees et je pourrais egalement reutiliser cette feuille.
j'aurai une feuille par mois, j'aimerais donc que la copie soit nommee par ce mois (et l'annee).
J'ai commence a ecrire en VBA cette macro, mais c'est tres fastidieux car je dois noter toutes les cellules une par une avec la formule :
Range("cellule").Select
ActiveCell.FormulaR1C1 = ""
Je dois surement pouvoir selectionner directement une colonne entiere, mais je ne sais pas quelle est la formule...
Je ne suis pas un specialiste du VBA, c'est meme l'une des premieres fois que je me lance! donc merci par avance a toutes les personnes qui pourront m'eclairer.
J'ai cree sur Excel une grande feuille de donnees (20 colonnes et 31 lignes) comprenant des lettres et des numeros. Je souhaiterais a l'aide d'une macro tout effacer d'un seul clic et si possible creer une copie de cette feuille avant de l'effacer. de cette facon, j'aurais une sauvegarde de la base de donnees et je pourrais egalement reutiliser cette feuille.
j'aurai une feuille par mois, j'aimerais donc que la copie soit nommee par ce mois (et l'annee).
J'ai commence a ecrire en VBA cette macro, mais c'est tres fastidieux car je dois noter toutes les cellules une par une avec la formule :
Range("cellule").Select
ActiveCell.FormulaR1C1 = ""
Je dois surement pouvoir selectionner directement une colonne entiere, mais je ne sais pas quelle est la formule...
Je ne suis pas un specialiste du VBA, c'est meme l'une des premieres fois que je me lance! donc merci par avance a toutes les personnes qui pourront m'eclairer.
A voir également:
- Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
5 réponses
Hello
si tu veux effacer TOUTES les cellules de ta feuille, tu peux faire : ActiveSheet.Cells.ClearContents
Ou Worksheets(x).Cells.ClearContents si la feuille active n'est pas celle que tu veux effacer (où x est le numéro de la feuille où tu veux effacer).
Pour sélectionner une colonne entière : Columns(x) où x est le NUMERO (pas la lettre) de la colonne.
J'espère que ça marchera pour toi.
Tchuss
si tu veux effacer TOUTES les cellules de ta feuille, tu peux faire : ActiveSheet.Cells.ClearContents
Ou Worksheets(x).Cells.ClearContents si la feuille active n'est pas celle que tu veux effacer (où x est le numéro de la feuille où tu veux effacer).
Pour sélectionner une colonne entière : Columns(x) où x est le NUMERO (pas la lettre) de la colonne.
J'espère que ça marchera pour toi.
Tchuss
Bonjour,
pour effacer c'est pas difficile...
Range("A1:T31")..Select
Selection.ClearContents
Pour copier ta feuille emploi l'enrégistreur de macro.
>> Outils >> Macro >> Nouvelle macro >> dans la fenêtre tu laisse le nom par défaut et tu fait OK
ensuite tu fait manuellement copier la feuille , changer sont nom.
Quand fini
>> Outils >> Macro >> Arrété l'enrégistrement.
Ta macro serra alors sur un module VBA.
A+
pour effacer c'est pas difficile...
Range("A1:T31")..Select
Selection.ClearContents
Pour copier ta feuille emploi l'enrégistreur de macro.
>> Outils >> Macro >> Nouvelle macro >> dans la fenêtre tu laisse le nom par défaut et tu fait OK
ensuite tu fait manuellement copier la feuille , changer sont nom.
Quand fini
>> Outils >> Macro >> Arrété l'enrégistrement.
Ta macro serra alors sur un module VBA.
A+
BloodyAngel, je ne veux pas effacer TOUTES mes cellules mais seulement une plage bien determinee. La solution de lermite222 correspond donc davantage a ce que je cherchais. mais je te remercie malgre tout car je galerais avec ces les colonnes ou je ne comprenais pas l'histoire du "x". merci beaucoup!
lermite222, ta proposition fonctionne c'est tout a fait ce que je voulais! par contre, je n'ai pas tout saisi pour la copie de ma feuille. j'ai fait ce que tu m'as dit, sauf changer le nom car je ne vois pas tres bien comment faire. j'obtiens bien une copie dans un nouveau classeur, mais il faut que j'enregistre et que je change le nom apres de moi-meme?
est-ce que je peux faire une copie de ma feuille et faire aussi en meme temps, avec le meme clic, une remise a zero comme vu precedement?
je ne suis pas un pro de VBA, j'apprends petit a petit...
lermite222, ta proposition fonctionne c'est tout a fait ce que je voulais! par contre, je n'ai pas tout saisi pour la copie de ma feuille. j'ai fait ce que tu m'as dit, sauf changer le nom car je ne vois pas tres bien comment faire. j'obtiens bien une copie dans un nouveau classeur, mais il faut que j'enregistre et que je change le nom apres de moi-meme?
est-ce que je peux faire une copie de ma feuille et faire aussi en meme temps, avec le meme clic, une remise a zero comme vu precedement?
je ne suis pas un pro de VBA, j'apprends petit a petit...
Non, tu a arrété ta macro trop tôt, tu doit TOUT faire en manuel, effacé ta plage, faire une copie changer le nom, sauver etc... tout, tout.
Quand tu fait la copie, fait gaffe a l'emplacement, en premier ou en dernier..
Ensuite tu montre ta macro je l'adapterais pour qu'elle soit autonome.
Mais il faudrait que les noms de tes feuilles aient une suite logique, par ex : Fact 01, Fac 02, Fac 03
Quand tu fait la copie, fait gaffe a l'emplacement, en premier ou en dernier..
Ensuite tu montre ta macro je l'adapterais pour qu'elle soit autonome.
Mais il faudrait que les noms de tes feuilles aient une suite logique, par ex : Fact 01, Fac 02, Fac 03
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question