Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Décaler cellule en fonction d'une date

  • Initiateur de la discussion Initiateur de la discussion southtrial
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

southtrial

Guest
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

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
 
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 ?

@+
 
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:
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,
 
Re : Décaler cellule en fonction d'une date

parce qu'il faut bien "décaler" d'une colonne. sinon tu recopies au meme endroit..
PS: j'ai utilisé l'enregistreur de macro pour en déduire la syntaxe.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
212
wDog66
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…