Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour copier feuille en la renommant

5 réponses
Avatar
s.micheline
Bonjour

Je cherche une macro pour renomm=E9er copier ma feuille principale en la
renommant pour tous le mois de l'ann=E9, ex: 01-01-07 et ainsi de suite
jusqu'=E0 la fin du mois, pour un classeur par mois, je dois compiler
pour chaque jour, et j'ai une macro d=E9ja, mais j en n'ai pas le jour,
cette macro me donne juste le mois et l'ann=E9e..

Est-ce que quelqu'un peut m'aider ?

Merci...

Sub CopierFeuille()
Dim strNom As String
Dim intMois As Integer
Dim intAnnee As Integer

' se positionner sur la feuille la plus "r=E9cente"
intMois =3D Left(ActiveSheet.Name, 2)
intAnnee =3D Right(ActiveSheet.Name, 2)

intMois =3D intMois + 1
If intMois =3D 13 Then
intMois =3D 1
intAnnee =3D intAnnee + 1
End If
strNom =3D Format(intMois, "00") & Format(intAnnee, "00")

ActiveSheet.Copy After:=3DSheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name =3D strNom
End Sub

5 réponses

Avatar
Pascal
Essayes ceci
Sub SendFeuille()
'Dick Kusleika et Tom Ogilvy, mpep

Workbooks("MonClasseur.xls").Sheets("MaFeuille").Copy
ActiveWorkbook.SendMail _
Recipients:="", _
Subject:="Here is the file"

End Sub
a écrit dans le message de news:

Bonjour

Je cherche une macro pour renomméer copier ma feuille principale en la
renommant pour tous le mois de l'anné, ex: 01-01-07 et ainsi de suite
jusqu'à la fin du mois, pour un classeur par mois, je dois compiler
pour chaque jour, et j'ai une macro déja, mais j en n'ai pas le jour,
cette macro me donne juste le mois et l'année..

Est-ce que quelqu'un peut m'aider ?

Merci...

Sub CopierFeuille()
Dim strNom As String
Dim intMois As Integer
Dim intAnnee As Integer

' se positionner sur la feuille la plus "récente"
intMois = Left(ActiveSheet.Name, 2)
intAnnee = Right(ActiveSheet.Name, 2)

intMois = intMois + 1
If intMois = 13 Then
intMois = 1
intAnnee = intAnnee + 1
End If
strNom = Format(intMois, "00") & Format(intAnnee, "00")

ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = strNom
End Sub



---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000748-2, 09/06/2007
Analyse le : 10/06/2007 09:33:30
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000748-2, 09/06/2007
Analyse le : 10/06/2007 09:33:53
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
Avatar
Pascal
Excuses j'ai posté une réponse qui ne t'était pas destinée
a écrit dans le message de news:

Bonjour

Je cherche une macro pour renomméer copier ma feuille principale en la
renommant pour tous le mois de l'anné, ex: 01-01-07 et ainsi de suite
jusqu'à la fin du mois, pour un classeur par mois, je dois compiler
pour chaque jour, et j'ai une macro déja, mais j en n'ai pas le jour,
cette macro me donne juste le mois et l'année..

Est-ce que quelqu'un peut m'aider ?

Merci...

Sub CopierFeuille()
Dim strNom As String
Dim intMois As Integer
Dim intAnnee As Integer

' se positionner sur la feuille la plus "récente"
intMois = Left(ActiveSheet.Name, 2)
intAnnee = Right(ActiveSheet.Name, 2)

intMois = intMois + 1
If intMois = 13 Then
intMois = 1
intAnnee = intAnnee + 1
End If
strNom = Format(intMois, "00") & Format(intAnnee, "00")

ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = strNom
End Sub



---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000748-2, 09/06/2007
Analyse le : 10/06/2007 09:33:30
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000748-2, 09/06/2007
Analyse le : 10/06/2007 09:57:25
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.avast.com
Avatar
LSteph
Bonjour,

Si j'ai bien compris,
tu veux une feuille par jour selon la feuille principale, mais rangées
dans un classeur par mois de l'année en cours
donc on suppose:
le classeur contenant ta feuille de base de CodeName(dans vbe) Feuil1 ,

depuis excel fichier ouvrir
crée un répertoire où seront rangés tous les classeurs et positionne toi
dessus puis (annuler pour refermer la boite)
Execute ce code depuis le classeur contenant ta feuille de base

'''''''dans un module standard''''''
Sub GenerAnClassMoisFeuilJour()
Dim i As Byte, madate As Date
MsgBox "Si c'est un rien long," & vbCrLf & _
"suivez l'execution dans la barre d'état"
Application.ScreenUpdating = False
madate = CDate("01/01/" & Year(Now))
For i = 1 To 12
Feuil1.Copy
[a1].FormulaLocal = Format(madate, "dd-mm-yyyy")
ActiveSheet.Name = Format(madate, "dd-mm-yyyy")

Do
madate = madate + 1

ActiveSheet.Copy after:=Sheets(Sheets.Count)
[a1].FormulaLocal = Format(madate, "dd-mm-yyyy")
ActiveSheet.Name = Format(madate, "dd-mm-yyyy")
Application.StatusBar = "traitement de " & _
Format(madate, "dd-mm-yyyy")

Loop While Month(madate + 1) = i
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Format(madate, "mm-yyyy")
Application.DisplayAlerts = True
ActiveWorkbook.Close
madate = CStr(madate + 1)
Next
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
''''''''''''''''''''''''

'Cdlt

'LSteph


Bonjour

Je cherche une macro pour renomméer copier ma feuille principale en la
renommant pour tous le mois de l'anné, ex: 01-01-07 et ainsi de suite
jusqu'à la fin du mois, pour un classeur par mois, je dois compiler
pour chaque jour, et j'ai une macro déja, mais j en n'ai pas le jour,
cette macro me donne juste le mois et l'année..

Est-ce que quelqu'un peut m'aider ?

Merci...

Sub CopierFeuille()
Dim strNom As String
Dim intMois As Integer
Dim intAnnee As Integer

' se positionner sur la feuille la plus "récente"
intMois = Left(ActiveSheet.Name, 2)
intAnnee = Right(ActiveSheet.Name, 2)

intMois = intMois + 1
If intMois = 13 Then
intMois = 1
intAnnee = intAnnee + 1
End If
strNom = Format(intMois, "00") & Format(intAnnee, "00")

ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = strNom
End Sub



Avatar
s.micheline
On 10 juin, 06:11, LSteph wrote:
Bonjour,

Si j'ai bien compris,
tu veux une feuille par jour selon la feuille principale, mais rangées
dans un classeur par mois de l'année en cours
donc on suppose:
le classeur contenant ta feuille de base de CodeName(dans vbe) Feuil1 ,

depuis excel fichier ouvrir
crée un répertoire où seront rangés tous les classeurs et positio nne toi
dessus puis (annuler pour refermer la boite)
Execute ce code depuis le classeur contenant ta feuille de base

'''''''dans un module standard''''''
Sub GenerAnClassMoisFeuilJour()
Dim i As Byte, madate As Date
MsgBox "Si c'est un rien long," & vbCrLf & _
"suivez l'execution dans la barre d'état"
Application.ScreenUpdating = False
madate = CDate("01/01/" & Year(Now))
For i = 1 To 12
Feuil1.Copy
[a1].FormulaLocal = Format(madate, "dd-mm-yyyy")
ActiveSheet.Name = Format(madate, "dd-mm-yyyy")

Do
madate = madate + 1

ActiveSheet.Copy after:=Sheets(Sheets.Count)
[a1].FormulaLocal = Format(madate, "dd-mm-yyyy")
ActiveSheet.Name = Format(madate, "dd-mm-yyyy")
Application.StatusBar = "traitement de " & _
Format(madate, "dd-mm-yyyy")

Loop While Month(madate + 1) = i
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Format(madate, "mm-yyyy")
Application.DisplayAlerts = True
ActiveWorkbook.Close
madate = CStr(madate + 1)
Next
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub
''''''''''''''''''''''''

'Cdlt

'LSteph




Bonjour

Je cherche une macro pour renomméer copier ma feuille principale en la
renommant pour tous le mois de l'anné, ex: 01-01-07 et ainsi de suite
jusqu'à la fin du mois, pour un classeur par mois, je dois compiler
pour chaque jour, et j'ai une macro déja, mais j en n'ai pas le jour,
cette macro me donne juste le mois et l'année..

Est-ce que quelqu'un peut m'aider ?

Merci...

Sub CopierFeuille()
Dim strNom As String
Dim intMois As Integer
Dim intAnnee As Integer

' se positionner sur la feuille la plus "récente"
intMois = Left(ActiveSheet.Name, 2)
intAnnee = Right(ActiveSheet.Name, 2)

intMois = intMois + 1
If intMois = 13 Then
intMois = 1
intAnnee = intAnnee + 1
End If
strNom = Format(intMois, "00") & Format(intAnnee, "00")

ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = strNom
End Sub- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


LSteph, c'est super !! merci beaucoup, encore mieux que ma macro..
j'adore, un fichier pour l'année en quelques clics. Un gros merci

Miche


Avatar
LSteph
Bonjour,

:-)
après un canard et quelques brasses, je trouve ta réponse ...
(Signe distinctif sur mpfe , on laisse flotter la réponse en haut)

Ravi que cela te plaise.
Je suppose donc que tu as pu l'adapter à ton usage.
Tu auras noté que j'ai ajouté ceci
[a1].FormulaLocal = Format(madate, "dd-mm-yyyy")
c'est juste une faculté à estampiller une cellule au passage,
tu peux changer.

L'ensemble est un peu longuet, à mon goût, si jamais je trouve plus
rapide je reviendrais sur ce fil..

Cordialement.

lSteph

On 10 juin, 06:11, LSteph wrote:
Bonjour,