Macro nouvelle onglet

  • Initiateur de la discussion Initiateur de la discussion Chessnocoma
  • 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 !

Chessnocoma

XLDnaute Junior
Bonjour,

J'ai trouver une macro qui créer de un copier coller dans un onglet à la date du jour.

Sub CopieFeuille()

' Positionnement sur la feuille Matrice qui sera copiée tous les jours
Sheets("Matrice").Select
Cells.Copy ' Copie
Sheets.Add ' Ajout d'une nouvelle feuille
ActiveSheet.Paste ' Collage de la feuille copiée précédemment
ActiveSheet.Name = Format(Date,"yyyy-mm-dd")
End Sub

Je voulais savoir si c'tait possible que la feuille Matrice, soit en lien avec la dernière feuille créer, en somme je voudrais faire un tableau "Avant-Après, qui récupère certaines informations dans l'onglet le plus proche de la date actuelle
 
Dernière édition:
Re : Macro nouvelle onglet

Je joins un fichier qui devrais vous aider à mieux comprendre ma situation, j'ai écris ce que je voudrais faire, ainsi qu'une solution possible, mais comme je suis très peu caler en VBA, je ne m'avance pas trop sur le résultat que ca donneras, mais je vais essayer.
 

Pièces jointes

  • v.xls
    v.xls
    41.5 KB · Affichages: 81
Re : Macro nouvelle onglet

Bonsoir le fil 🙂,
Commence par supprimer ce bouton qui sert à rien et contente toi de lier un raccourci clavier à la macro 🙄...
Si, comme dans ton exemple, la dernière feuille est en première position
Code:
Sub Test()
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name = Format(Date, "yyyy-mm-dd") Then
MsgBox "La feuille du jour existe déjà !", vbCritical + vbOKOnly, "ATTENTION !"
Exit Sub
End If
Next Feuille
Sheets(1).Copy Before:=Sheets(1)
Sheets(1).Name = Format(Date, "yyyy-mm-dd")
End Sub
si par contre elle est en dernière position
Code:
Sub Test2()
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name = Format(Date, "yyyy-mm-dd") Then
MsgBox "La feuille du jour existe déjà !", vbCritical + vbOKOnly, "ATTENTION !"
Exit Sub
End If
Next Feuille
Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Format(Date, "yyyy-mm-dd")
End Sub
Bonne soirée 😎
 
- 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

  • Question Question
Microsoft 365 Problème macro
Réponses
4
Affichages
433
Réponses
6
Affichages
643
Réponses
8
Affichages
653
Réponses
5
Affichages
915
Réponses
10
Affichages
792
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
615
Retour