Décaler cellule en fonction d'une date

southtrial

XLDnaute Nouveau
Bonjour à tous !

Je poste sur ce forum car je suis à court d'idée pour résoudre mon problème.

Je souhaite dans un tableau faire décaler les cellules (ainsi que leur fonction) en fonction du mois, tout en conservant les valeurs obtenus les mois précédents.

Les valeurs du tableau de gauche sont mises à jour 1 fois/mois grâce à une macro.

Auriez-vous des idées ou des pistes pour que je puisse réaliser ce genre d'opération ?

Le fichier sera un peu plus clair.

Merci beaucoup de votre aide et bonne journée à tous !
 

Pièces jointes

  • Test.xlsx
    176.6 KB · Affichages: 38
  • Test.xlsx
    176.6 KB · Affichages: 40
  • Test.xlsx
    176.6 KB · Affichages: 38

vgendron

XLDnaute Barbatruc
Re : Décaler cellule en fonction d'une date

Bonjour

essaie ce code (si j'ai bien compris la question et le besoin..

Code:
Sub Macro1()
'
' Macro1 Macro
'

'
    If Range("I7") = "" Then
        Range("G7").End(xlToRight).Select
    Else: Range("H7").End(xlToRight).Select
    End If
    
    col = Selection.Column
    Range(Cells(7, col), Cells(16, col)).Select
    
    
    Selection.AutoFill Destination:=Range("H7:I16"), Type:=xlFillDefault
    newzone = Range(Cells(7, col), Cells(16, col + 1)).Address(False, False)
    Selection.AutoFill Destination:=Range(newzone), Type:=xlFillDefault
    
    Range("H7:I16").Select
    Range(Cells(7, col), Cells(16, col)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
 

southtrial

XLDnaute Nouveau
Re : Décaler cellule en fonction d'une date

Bonjour vgendron,

Tout d'abord je tiens à te remercier pour ton aide !

C'est exactement ça mon besoin !

Cependant, la macro s'arrête au bout de 3 applications (jusqu'à juin) et me mets un message d'erreur "400". Est-ce normale ?

@+
 

vgendron

XLDnaute Barbatruc
Re : Décaler cellule en fonction d'une date

ah oui pardon j'ai décommenté une ligne qui n'est plus utile..

Code:
Sub Macro1()
'
' Macro1 Macro

    'détection de la colonne à utiliser pour copier les formules
    If Range("I7") = "" Then
        Range("G7").End(xlToRight).Select
    Else: Range("H7").End(xlToRight).Select
    End If
    
    'identification de la colonne et sélection des formules
    col = Selection.Column
    Range(Cells(7, col), Cells(16, col)).Select
    
    'création du range NewZone ou les formules vont etre copiées
    newzone = Range(Cells(7, col), Cells(16, col + 1)).Address(False, False)
    'recopie des formules
    Selection.AutoFill Destination:=Range(newzone), Type:=xlFillDefault
    
    'copier coller spécial valeur de la colonne à sauvegarder
    Range(Cells(7, col), Cells(16, col)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub
 
Dernière édition:

southtrial

XLDnaute Nouveau
Re : Décaler cellule en fonction d'une date

Je remercie ça marche nickel !

Juste pour essayer de comprendre, pourquoi tu choisis la zone à copier en Range(Cells(7, col), Cells(16, col + 1)) et non pas en Range(Cells(7, col), Cells(16, col)) ?

Encore merci,
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 180
Membres
103 152
dernier inscrit
Karibu