copie onglet avec date

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

vark

XLDnaute Nouveau
bonjour
je suis debutant
je voudrais copier ma feuil1 en la renomment par une date
explication ma nouvelle feuille serai le '1-janv-2010'
mais je voudrais aussi la copie du 1-janv-2010 au 31-janv-2010
et aussi que je puisse choisir le mois ex: du 1-mars au 31 mars 2010
j'ai trouver un code vba qui me demande bien la date mais ne copie pas ma feuille et je peux pas choisir le mois
Sub Calendjourfeuille()
Application.ScreenUpdating = False
année = Val(InputBox("Quelle année ?"))
If année = 0 Then Exit Sub
x = DateSerial(année, 1, 1)
Y = DateValue("31 janvier " & année)
For I = 0 To Y - x
ActiveWorkbook.Sheets.Add after:=sheets(sheets.Count)
ActiveSheet.Name = Format(x + I, "dd-mmm-yyyy")
Next
End Sub
 
Re : copie onglet avec date

Bonjour vark
Tout vient à qui sait attendre...
(Des fois, on bosse aussi pour manger.)
Essayez ceci :
Code:
[COLOR="DarkSlateGray"][B]Sub Calendjourfeuille()
Dim mois_année, x&, y&, i&
   Application.ScreenUpdating = False
   mois_année = Val(InputBox("Quelle date ? (Format m-aaaa)"))
   If mois_année = 0 Then Exit Sub
   x = DateValue("1-" & mois_année)
   y = DateSerial(Year(x), 1 + Month(x), 1) - 1
   For i = 0 To y - x
      ActiveWorkbook.Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
      ActiveSheet.Name = Format(x + i, "dd-mmm-yyyy")
   Next
End Sub[/B][/COLOR]
(Attention : ce code produira une erreur si vous essayez de créer une feuille déjà existante.)​
ROGER2327
#3396


14 Floréal An CCXVIII
2010-W18-1T16:47:23Z
 
Dernière édition:
Re : copie onglet avec date

Re...
(...) c'est ce que voulais et ca marche impeccable (...)
Tant mieux !
Pour compléter, et afin de gérer les tentatives de création de doublons :
Code:
[COLOR="DarkSlateGray"][B]Sub Calendjourfeuille()
Dim mois_année, x&, y&, i&
Dim msgErr$, nErr As Byte
   Application.ScreenUpdating = False
   mois_année = Val(InputBox("Quelle date ? (Format m-aaaa)"))
   If mois_année = 0 Then Exit Sub
   x = DateValue("1-" & mois_année)
   y = DateSerial(Year(x), 1 + Month(x), 1) - 1
   For i = 0 To y - x
      ActiveWorkbook.Sheets("Feuil1").Copy after:=Sheets(Sheets.Count)
      On Error GoTo E
      ActiveSheet.Name = Format(x + i, "dd-mmm-yyyy")
R:    On Error GoTo 0
   Next
[COLOR="SeaGreen"]'[/COLOR]
   If nErr Then
      If nErr > y - x Then
         MsgBox "Aucune feuille n'a été créée."
      Else
         MsgBox "L" & IIf(nErr > 1, "es", "a") & " feuille" & IIf(nErr > 1, "s", "") & " :" & _
            msgErr & vbLf & "n'" & IIf(nErr > 1, "ont", "a") & " pas été créée" & _
            IIf(nErr > 1, "s", "") & " car elle" & IIf(nErr > 1, "s", "") & " existai" & _
            IIf(nErr > 1, "en", "") & "t déjà."
      End If
   End If
[COLOR="SeaGreen"]'[/COLOR]
Exit Sub
E: nErr = 1 + nErr
   msgErr = msgErr & vbLf & Format(x + i, "dd-mmm-yyyy")
   Application.DisplayAlerts = False
   ActiveSheet.Delete
   Application.DisplayAlerts = True
   Resume R
End Sub[/B][/COLOR]
ROGER2327
#3401


15 Floréal An CCXVIII
2010-W18-2T23:51:28Z
 
- 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

Réponses
40
Affichages
3 K
Réponses
17
Affichages
2 K
Réponses
12
Affichages
1 K
Retour