Macro nouvelle onglet

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:

Chessnocoma

XLDnaute Junior
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
    41.5 KB · Affichages: 81

JNP

XLDnaute Barbatruc
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 :rolleyes:...
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 :cool:
 

Discussions similaires

Réponses
2
Affichages
113

Statistiques des forums

Discussions
312 177
Messages
2 085 969
Membres
103 072
dernier inscrit
Remithesix