Copier un fichier et mettre dans un onglet selon année

Résolu/Fermé
J-Art - 11 févr. 2016 à 17:44
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 12 févr. 2016 à 15:39
Bonjour,

Après ma dernière question qui a été réglée, je reviens vers vous pour un autre problème. J' ai une fiche de salaire qui change chaque mois selon les heures effectuées, etc. Je voudrais savoir s'il y a une macro qui, quand j’appuie dessus, elle fasse une copie et la garde dans l'onglet qui correspond à l'année dont la fiche est faite (il y a donc plusieurs onglets qui vont de 2016 à 2030).

Merci d'avance
A voir également:

1 réponse

Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
11 févr. 2016 à 17:56
Bien sûr, tout est possible avec les macro :D

Le code suivant fonctionne si :
1) vous appelez votre feuille de travail "test" (vous pouvez le modifier dans le code bien sûr)
2) Dans cette feuille de travail, la cellule B2 contient le numéro de l'année (ex: 2016)
3) enfin : une autre feuille qui se nomme déjà 2016 dans notre exemple existe (elle sera remplacée par la feuille test) :
Sub testYEAR()

Dim A As String

Application.DisplayAlerts = False

A = Sheets("test").Cells(1, 2).Value

Sheets("test").Copy Before:=Sheets(A)
Sheets(A).Select
ActiveWindow.SelectedSheets.Delete

Sheets("test (2)").Name = A
Application.DisplayAlerts = True

End Sub
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
11 févr. 2016 à 17:57
N'hésitez pas à demander des ajustements si vous avez des dispositions de départ différentes ;)
0
J-Art > Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016
11 févr. 2016 à 18:46
Merci beaucoup :)

Je vais essayer ça demain et je te redis
0
J-Art Messages postés 19 Date d'inscription vendredi 12 février 2016 Statut Membre Dernière intervention 20 avril 2016 > Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016
12 févr. 2016 à 10:43
J'ai essayé mais je n'arrive pas à le modifier à ma guise ... Alors si tu peu m'aider :)
Ma feuille s'appelle Fiches de salaire
La partie que je veux copier c'est la zone A1:F45
L'année en cours se trouve sur F13
Il faudra qu'on puisse enregistrer 100 feuilles de salaire par mois, soit 1200 par an. Il y a-t-il un risque que les feuilles se chevauchent ?
Merci beaucoup pour ton aide ;)
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > J-Art Messages postés 19 Date d'inscription vendredi 12 février 2016 Statut Membre Dernière intervention 20 avril 2016
12 févr. 2016 à 10:52
En soit ça donne :

Sub testYEAR()

Dim A As String

Application.DisplayAlerts = False

A = Sheets("Fiches de salaire").Cells(13, 6).Value

Sheets("Fiches de salaire").Copy Before:=Sheets(A)
Sheets(A).Select
ActiveWindow.SelectedSheets.Delete

Sheets("Fiches de salaire (2)").Name = A
Application.DisplayAlerts = True

End Sub

Par contre il y a quelque chose que je ne saisis par sur votre document : la feuille Fiches de salaire contient Cb de fiches ? Il faut les enregistrer par mois ou par an sur la même feuille excel ?
0
J-Art Messages postés 19 Date d'inscription vendredi 12 février 2016 Statut Membre Dernière intervention 20 avril 2016 > Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016
12 févr. 2016 à 11:05
Non alors...

Chaque employé aura 12 feuilles de salaire (pour chaque mois) mais ces 12 feuilles seront sauvegardées dans l'onglet de l'année en cours

Merci aussi pour la rapidité de ta réponse :)
0