Microsoft 365 Copier Feuille Macro en effaçant une plage de cellules

  • Initiateur de la discussion Initiateur de la discussion wiwi520
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

wiwi520

XLDnaute Nouveau
Bonjour,

Besoin d'un code please.
J'ai une feuille contenant des macros que j'ai renommé "Passe 1". Je souhaiterais dans la même feuille créer une autre commande macro qui permet de copier/dupliquer automatiquement toutes les données (Et les macros) dans la nouvelle feuille " Passe 2" tout en effaçant les données de la plage B13😀100. En gros les données se trouvant dans la plage B13😀100 doivent juste être effacées dans la feuille "Passe 2" et non dans la "Passe 1". Cette plage je la remplirais manuellement.
Et ensuite dans la "Passe 2", une fois que j'aurais rempli la plage, activer la macro "copier/dupliquer" pour créer une nouvelle feuille "passe 3" avec le contenu de la même plage B13😀100 effacé dans la feuille passe 3.... et ainsi de suite jusqu'à Passe 40.
Je ne sais pas si j'ai été assez claire, mais mon niveau en VBA est égale à 0.

Merci de votre aide
 
Bonjour.
Si tu ne souhaites pas garder les données.
Sub copiefeuille()
With Sheets("passe 1")
Set zone = .Range("b3:d100")
zone.ClearContents
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Passe " & Sheets.Count
End With

End Sub
Si tu souhaites les garder,
Sub copiefeuille()
With Sheets("passe 1")
Set zone = .Range("b3:d100")
zone.ClearContents
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Passe " & Sheets.Count
Set zone = activesheet.Range("b3:d100")
zone.ClearContents
End With

End Sub
A suivre, mais tu as des données après la ligne 100?
 
Bonjour.
Si tu ne souhaites pas garder les données.
Sub copiefeuille()
With Sheets("passe 1")
Set zone = .Range("b3:d100")
zone.ClearContents
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Passe " & Sheets.Count
End With

End Sub
Si tu souhaites les garder,
Sub copiefeuille()
With Sheets("passe 1")
Set zone = .Range("b3:d100")
zone.ClearContents
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Passe " & Sheets.Count
Set zone = activesheet.Range("b3:d100")
zone.ClearContents
End With

End Sub
A suivre, mais tu as des données après la ligne 100?

Bonjour,

Le code que tu m'as filé marche super bien. Merci beaucoup tu es au top.
Non je n'ai pas de ligne après 100. J'imagine que si j'avais plus de 100 lignes, 150 par exemple je remplacerais le 100 du code par 150?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour