Copier valeur feuille N-1

Bonjour,

Sur l'exemple en pièce jointe je ne sais pas comment faire pour copier en valeur les données d'une plage (ici le tableau A5:J16) sur le mois suivant.

Je souhaiterai que sur chaque feuille (sauf janvier forcément) il y ait un bouton permettant de copier/coller les valeurs A5:J5 du mois précédent, c'est à dire de la feuille N-1 (copie en valeur uniquement).

Merci pour votre aide.

11copie.xlsx (47.42 Ko)

Bonjour Nickal,

Vous souhaitez utiliser le VBA, pensez donc à l'enregistreur de macro pour commencer

image

Vous lancez l'enregistrement, effectuer les actions et arrêter l'enregistrement

Cela vous donnera un code, qu'il "suffira" de modifier et d'optimiser

A+

Bonjour Bruno,

Oui, j'ai utilisé l'enregistreur de macro pour faire ce copier/coller en valeur mais c'est pour trouver le code de copie sur la feuille N-1 que je séche...

Re,

Alors merci de joindre le fichier au format ".xlsm" avec la macro SVP

A+

Le voici.

10copie.xlsm (53.86 Ko)

Merci Nickal

Ce démontre que vous avez effectivement voulu faire quelque chose

Voici le code optimisé

Sub CopieValeurs()
  Dim NumF As Integer
  ' Récupérer le numéro de la feuille
    NumF = ActiveSheet.Name
    ' Si c'est janvier, on sort
    If NumF = 1 Then Exit Sub
    ' sinon
    Sheets(NumF - 1).Range("A5:J16").Copy
    ActiveSheet.Range("A5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
      SkipBlanks:=False, Transpose:=False
    '
    Application.CutCopyMode = False
End Sub

Au cas ou, vous avez aussi quelques cours sur ce forum

https://www.excel-pratique.com/fr/vba

A+

Merci Bruno, ça fonctionne parfaitement.

Il me reste à l'adapter sur mon "vrai" fichier mais, bien que les feuilles soient numérotée de la même façon j'ai une erreur sur le Sheets(NumF - 1).Range("A5:J16").Copy

Je vais creuser et trouver.

Bon après-midi.

Re,

Un espace dans le nom, ça ne peut être que ça

Rechercher des sujets similaires à "copier valeur feuille"