Macro pour copier feuille en la renommant

Le
s.micheline
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal
Le #4581681
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

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






---
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
Pascal
Le #4581651
Excuses j'ai posté une réponse qui ne t'était pas destinée

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






---
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
LSteph
Le #4581571
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



s.micheline
Le #4581491
On 10 juin, 06:11, 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 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


LSteph
Le #4578921
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
Bonjour,




Publicité
Poster une réponse
Anonyme