Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier excel

ptiot70

XLDnaute Nouveau
Bonsoir à tous,

Je suis à la recherche d'une macro me permettant de copier un onglet "type" en le renommant à la date du jour (ex : 23_10_12), et ce dès l'ouverture du fichier. Là où ça se corse, c'est que je dois pouvoir ouvrir le fichier plusieurs fois dans la journée. La macro doit donc copier l'onglet "type" en prenant en compte qu'il existe déjà un onglet du même nom, donc me créer un onglet renommé 23_10_12(2).
En esperant avoir été assez explicite, merci d'avance à ceux qui consacreront un peu de leurs temps pour mon problème. Ci joint le fichier en question
 

Pièces jointes

  • Facture ESSAI.xlsx
    59.6 KB · Affichages: 44
  • Facture ESSAI.xlsx
    59.6 KB · Affichages: 60
  • Facture ESSAI.xlsx
    59.6 KB · Affichages: 54

Gareth

XLDnaute Impliqué
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonsoir,

Ci-joint une macro à tester.
 

Pièces jointes

  • Facture ESSAI.xlsm
    61.3 KB · Affichages: 58
  • Facture ESSAI.xlsm
    61.3 KB · Affichages: 65
  • Facture ESSAI.xlsm
    61.3 KB · Affichages: 59

kjin

XLDnaute Barbatruc
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonsoir,
Dans le module de ThisWorkbook
Code:
Private Sub Workbook_Open()
Dim Datej$, ws As Worksheet, nb As Byte
Datej = Format(Date, "dd_mm_yy")
For Each ws In Sheets
    If ws.Name Like Datej & "*" Then
        nb = nb + 1
    End If
Next
Feuil1.Copy after:=Sheets(Sheets.Count)
If nb = 0 Then
    ActiveSheet.Name = Datej
Else
    ActiveSheet.Name = Datej & " (" & nb + 1 & ")"
End If
End Sub
A+
kjin
 

Gareth

XLDnaute Impliqué
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonjour,

kjin a mieux lu que moi.
Ci-joint mon code modifié...
 

Pièces jointes

  • Facture ESSAI.xlsm
    61.7 KB · Affichages: 48
  • Facture ESSAI.xlsm
    61.7 KB · Affichages: 45
  • Facture ESSAI.xlsm
    61.7 KB · Affichages: 69

ptiot70

XLDnaute Nouveau
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonjour,

La macro de Gareth fonctionne mais pas lorsque je réouvre le doc dans la même journée
J'ai donc utilisé la macro de Kjin qui réalise ce que je cherhais
Merci donc à vous 2, le plus dur pour moi c'est que je ne comprend rien en langage VBA, il a même fallu que je recherche sur internet ou était le module de ThisWorkbook... Moi qui pensais "toucher" sur EXCEL, je me rends compte que j'en suis loin...
Merci encore à vous de m'avoir consacrer de votre temps
 

Gareth

XLDnaute Impliqué
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonjour,

Effectivement le premier fichier ne fontionne pas comme tu le souhaites.
Je n'avais pas bien interprété ta demande.
En revanche le 2eme devrait. En tous les cas chez moi, ça fonctionne ...
 

ptiot70

XLDnaute Nouveau
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonjour,

CEncore une sollicitation de ma part : Je me demende si il est possible, tout en gardant cette fonctionnalité de copie d'onglet à l'ouverture, qu'une fenetre s'ouvre a l'ouverture pour demander "Voulez -vous créer une nouvelle facture?". Si oui, ça copie le nouvel onglet, sinon c'est que j'ouvre le dossier uniquement en visualisation pour consulter une ancienne fatcure, je n'ai donc pas besoin d'un nouvel onglet, et cela m'éviterai donc de devoir supprimer celui qui se crée comme à l'heure actuelle.
Est il possible aussi d'utiliser le nom de l'onglet pour indiquer le date sur la facture, car pour le moment, avec ma formule =aujourdhui() en cellule E2, la date de la facture "évolue" au fil des jours. Si je veux imprimer une ancienne facture, ça posera problème si j'oublie de changer "manuellement" la date...Fichier en PJ

En esperant être assez clair dans mes explications... Merci d'avance pour vos réponses
Cordialement
 

kjin

XLDnaute Barbatruc
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonsoir,
Modifies comme suit
Code:
Private Sub Workbook_Open()
Dim Datej$, ws As Worksheet, nb As Byte
If MsgBox("voulez-vous créer une nouvelle facture", _
        vbYesNo + vbQuestion) = vbNo Then Exit Sub
Datej = Format(Date, "dd_mm_yy")
For Each ws In Sheets
    If ws.Name Like Datej & "*" Then
        nb = nb + 1
    End If
Next
Feuil1.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
    If nb = 0 Then
        .Name = Datej
    Else
        .Name = Datej & " (" & nb + 1 & ")"
    End If
    .Range("E2") = VBA.Date
End With
End Sub
A+
kjin
 

ptiot70

XLDnaute Nouveau
Re : Copie auto d'un onglet renommé à la date du jour dès l'ouverture du fichier exce

Bonjour,

Merci beaucoup Kjin, c'est exactement ce qu'il me fallait... Mais, petites questions pour ma culture générale : Est ce que c'est toi qui tape le texte "manuellement" dans ThisWorkbook ou est ce que ca marche un peu comme une macro (tu débute un enregistrement, tu réalise une action, tu arretes l'enregistrement et tes actions se sont "transformées" en language VBA)??? Et combien il t'a fallu de temps pour réaliser ca???
En tout ca je te remercie beaucoup
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 998
Membres
103 425
dernier inscrit
alainPontonnier