Simplifier/raccourcir une macro

Bonjour,

Je suis totalement novice dans les macro excel

J'ai crée cette macro afin de sauvegarder les donnée d'un tableau dans une autre feuille a la fin de chaque semaine (soit pour 52 semaine)

Sub Sauver()
'
' Macro2 Macro
'
' Touche de raccourci du clavier: Ctrl+j
'

Application.ScreenUpdating = False

If Range("C1") = 1 Then (Numéro de la semaine en cours)
Range("D10, E10").Copy
Sheets("Bilan Année").Select
Range("B4:C4").PasteSpecial xlPasteValues
Sheets("Tableau").Select
Range("A1").Select
End If
If Range("C1") = 2 Then (Numéro de la semaine en cours)
Range("D10, E10").Copy
Sheets("Bilan Année").Select
Range("B5:C5").PasteSpecial xlPasteValues
Sheets("Tableau").Select
Range("A1").Select
End If
If Range("C1") = 3 Then (Numéro de la semaine en cours)
Range("D10, E10").Copy
Sheets("Bilan Année").Select
Range("B6:C6").PasteSpecial xlPasteValues
Sheets("Tableau").Select
Range("A1").Select
End If

.....

Edit modo : merci de mettre le code entre balises SVP avec le bouton </>

Ma question est donc comment peut-on raccourcir cette macro ?

Cordialement

MajorJim

Bonjour MajorJim et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande, voici une possibilité avec des commentaires

Sub Sauver()
  Dim NumSem As Integer
  ' Touche de raccourci du clavier: Ctrl+j
  '
  Application.ScreenUpdating = False
  ' Avec l'objet conteneur : feuille Tableau
  With Sheet("Tableau")
    ' Récupérer le numéroe de semaine en C1
    NumSem = .Range("C1").Value
    ' Copier la plage D10:E10
    .Range("D10:E10").Copy
    ' Coller la valeur dans la plage BA:C4 décaler de NumSem-1
    Sheets("Bilan Année").Range("B4:C4").Offset(NumSem - 1).PasteSpecial xlPasteValues
  End With
  Application.ScreenUpdating = True
End Sub

Merci pour votre participation

Cordialement

Rechercher des sujets similaires à "simplifier raccourcir macro"