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

Recopie automatique dans x tableaux

3 réponses
Avatar
Calou
Bonjour à tous,
Dans le cadre de mon travail, j'ai un tableau qui me permet de suivre tous
les mois, certains éléments de paie des salariés.
C'est avec votre aide, j'ai une petite macro qui me permettait en début
d'année de creer tous mes onglets de façon automatique selon un tableau
définit dans l'onglet du même nom.
Voici, cette macro :
Sub CreerOnglet()
For Each c In Range([A2], [A65000].End(xlUp))
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Next
End Sub

Voilà, le problème qui me préoccupe aujourd'hui. Avec plus de 200 onglets,
je suis obligé tous les mois de recopier les éléments de paie qui sont à 95%
identiques à ceux du mois précédent. Alors vous me voyez venir avec mes gros
sabots. Est-il possible par une macro de recopier de facon automatique la
ligne d'un mois sur un autre en respectant les formules.

http://cjoint.com/?cjfo3Q3p4h

Par avance je vous remercie du temps que vous pourrez consacrer à cette
question.

Bonne journée

Philippe

3 réponses

Avatar
Pounet95
Bonjour,
A mettre dans un module standard et adapter au besoin

Sub Recopie()
Dim wb As Workbook
Dim sh As Worksheet
Dim rep As Integer

'définir classeur
Set wb = ThisWorkbook

'on demande le n° du mois à recopier
rep = InputBox("n° du mois à recopier ?")
'On vérifie la réponse
Select Case rep
Case 1 To 11
'OK pour recopie
Case 12
MsgBox "Pas possible car mois sur année précédente !"
Exit Sub
Case Else
MsgBox "Numéro de mois non valide ( doit être compris entre 1 et
11 )"
Exit Sub
End Select

'recopie mois précédent
For i = 1 To wb.Sheets.Count
Set sh = Sheets(i)
With sh
.Cells(rep + 4, 2) = .Cells(rep + 3, 2)
.Cells(rep + 4, 3) = .Cells(rep + 3, 3)
.Cells(rep + 4, 6) = .Cells(rep + 3, 6)
.Cells(rep + 4, 7) = .Cells(rep + 3, 7)
.Cells(rep + 4, 10) = .Cells(rep + 3, 10)
End With
Set sh = Nothing
Next i
End Sub

Bonne journée
Pounet95

"Calou" a écrit dans le message de
news:
Bonjour à tous,
Dans le cadre de mon travail, j'ai un tableau qui me permet de suivre tous
les mois, certains éléments de paie des salariés.
C'est avec votre aide, j'ai une petite macro qui me permettait en début
d'année de creer tous mes onglets de façon automatique selon un tableau
définit dans l'onglet du même nom.
Voici, cette macro :
Sub CreerOnglet()
For Each c In Range([A2], [A65000].End(xlUp))
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Next
End Sub

Voilà, le problème qui me préoccupe aujourd'hui. Avec plus de 200 onglets,
je suis obligé tous les mois de recopier les éléments de paie qui sont à
95% identiques à ceux du mois précédent. Alors vous me voyez venir avec
mes gros sabots. Est-il possible par une macro de recopier de facon
automatique la ligne d'un mois sur un autre en respectant les formules.

http://cjoint.com/?cjfo3Q3p4h

Par avance je vous remercie du temps que vous pourrez consacrer à cette
question.

Bonne journée

Philippe






Avatar
JB
Bonjour,

Sub copieDernierLigne()
[b15].End(xlUp).Resize(, 12).copy
[b15].End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulas
End Sub

http://cjoint.com/?cjhF2FrN2P

JB


On 9 fév, 05:15, "Calou" wrote:
Bonjour à tous,
Dans le cadre de mon travail, j'ai un tableau qui me permet de suivre tous
les mois, certains éléments de paie des salariés.
C'est avec votre aide, j'ai une petite macro qui me permettait en début
d'année de creer tous mes onglets de façon automatique selon un tablea u
définit dans l'onglet du même nom.
Voici, cette macro :
Sub CreerOnglet()
 For Each c In Range([A2], [A65000].End(xlUp))
   Sheets("Modele").Copy After:=Sheets(Sheets.Count)
   ActiveSheet.Name = c
   ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
      SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
  Next
End Sub

Voilà, le problème qui me préoccupe aujourd'hui. Avec plus de 200 on glets,
je suis obligé tous les mois de recopier les éléments de paie qui so nt à 95%
identiques à ceux du mois précédent. Alors vous me voyez venir avec mes gros
sabots. Est-il possible par une macro de recopier de facon automatique la
ligne d'un mois sur un autre en respectant les formules.

http://cjoint.com/?cjfo3Q3p4h

Par avance je vous remercie du temps que vous pourrez consacrer à cette
question.

Bonne journée

Philippe


Avatar
Calou
Salut Pounet,

C'est avec un peu de retard que je viens te remercier pour cette macro. Tu
peux pas imagnier le temps que ca va me faire gagner.

Bonne journée


"Pounet95" a écrit dans le message de news:
%
Bonjour,
A mettre dans un module standard et adapter au besoin

Sub Recopie()
Dim wb As Workbook
Dim sh As Worksheet
Dim rep As Integer

'définir classeur
Set wb = ThisWorkbook

'on demande le n° du mois à recopier
rep = InputBox("n° du mois à recopier ?")
'On vérifie la réponse
Select Case rep
Case 1 To 11
'OK pour recopie
Case 12
MsgBox "Pas possible car mois sur année précédente !"
Exit Sub
Case Else
MsgBox "Numéro de mois non valide ( doit être compris entre 1 et
11 )"
Exit Sub
End Select

'recopie mois précédent
For i = 1 To wb.Sheets.Count
Set sh = Sheets(i)
With sh
.Cells(rep + 4, 2) = .Cells(rep + 3, 2)
.Cells(rep + 4, 3) = .Cells(rep + 3, 3)
.Cells(rep + 4, 6) = .Cells(rep + 3, 6)
.Cells(rep + 4, 7) = .Cells(rep + 3, 7)
.Cells(rep + 4, 10) = .Cells(rep + 3, 10)
End With
Set sh = Nothing
Next i
End Sub

Bonne journée
Pounet95

"Calou" a écrit dans le message de
news:
Bonjour à tous,
Dans le cadre de mon travail, j'ai un tableau qui me permet de suivre
tous les mois, certains éléments de paie des salariés.
C'est avec votre aide, j'ai une petite macro qui me permettait en début
d'année de creer tous mes onglets de façon automatique selon un tableau
définit dans l'onglet du même nom.
Voici, cette macro :
Sub CreerOnglet()
For Each c In Range([A2], [A65000].End(xlUp))
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Next
End Sub

Voilà, le problème qui me préoccupe aujourd'hui. Avec plus de 200
onglets, je suis obligé tous les mois de recopier les éléments de paie
qui sont à 95% identiques à ceux du mois précédent. Alors vous me voyez
venir avec mes gros sabots. Est-il possible par une macro de recopier de
facon automatique la ligne d'un mois sur un autre en respectant les
formules.

http://cjoint.com/?cjfo3Q3p4h

Par avance je vous remercie du temps que vous pourrez consacrer à cette
question.

Bonne journée

Philippe