Date dans macro

Résolu
nancy_soleil08 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -  
nancy_soleil08 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai cette formule dans une macro:

.Range("y" & li - 1).AutoFill Destination:=Range("y" & li - 1 & ":y" & li), Type:=xlFillDefault
f = "=IF($V" & li & ">0,$V" & li & ",$Y" & li - 1 & ")"

Cela est supposé recopier la valeur de la cellule au dessus. La formule fonctionne mais au lieu de recopier la bonne date, elle me donne la date + 1 jour. Exemple, si dans la cellule Y2 j'ai le 28 juin, la réponse de la macro dans la cellule Y3 sera le 29 juin. Qu'est-ce que j'ai écrit de pas correct pour que cela fasse ça?

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Changes le type de la copie
    Type:=xlFillCopy

    Mais pour une copie dans une seule cellule tu peux faire plus simple
    .Range("y" & li - 1).Copy .Range("y" & li)

    Cdlmnt
    0
    1. nancy_soleil08 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci!!!!
      0
  2. nancy_soleil08
     
    Bonjour, cela fait longtemps!!! J'ai la même formule à utiliser, je veux copier les données de la ligne au dessus. Par contre cette ligne au dessus contient une formule et ce n'est pas la formule que je veux copier c'est le résultat de la formule. Je devine que je dois insérer le terme value quelque part, mais je ne sais pas ou et ma formule fonctionne, mais elle copie la formule de la ligne précédente, pas la valeur.

    .Range("ab" & li - 1).AutoFill Destination:=Range("ab" & li - 1 & ":ab" & li), Type:=xlFillCopy

    La formule qui est dans la cellule à copier est ex: =A6, le résultat de cela est ex: 5412B07
    Mais au lieu d'avoir 5412B07 comme réponse, j'ai =A7

    Merci
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    C'est vrai que ça fait un bout de temps

    Pour copier la valeur
    .Range("ab" & li - 1).Copy
    .Range("ab" & li).PasteSpecial Paste:=xlPasteValues
    et si tu veux copier aussi le format tu ajoutes
    .Range("ab" & li).PasteSpecial Paste:=xlPasteFormats

    Cdlmnt
    0
    1. nancy_soleil08 Messages postés 63 Date d'inscription   Statut Membre Dernière intervention  
       
      C'était facile!!! ;-) Merci beaucoup!
      0