IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Copier N vers N-1


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut [VBA-E] Copier N vers N-1
    Bonjour,

    Je réalise des tableaux de bord en logistique.
    Pour chaque indicateur on peut comparer l'année N-1 et N.
    Je souhaite lorsque l'on passe de l'année N à N+1 (début d'une nouvelle année), copier les données du tableau de l'année N dans le tableau N-1.
    Peut-on utiliser les conditions ? Si Année prend +1 alors copier les cellules du tableau N dans le tableau N-1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets("Réception").Range("C20:N20").Select
    Selection.SpecialCells(xlCellTypeConstants, xlNumbers).Cut
    Sheets("Réception").Range("C17:N17").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Merci d'avance

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sheets("Réception").Range("C" & i & ":N " & i).Select
    Selection.SpecialCells(xlCellTypeConstants, xlNumbers).Cut
    Sheets("Réception").Range("C" & (i-3) & ":N " & (i-3)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

    Regarde de ce coté la pour la gestion des années:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Not(right(date,4) = curYear) Then
    curYear=right(date,4)
    'Faire ce qu'il faut
    End IF

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut
    Merci pour la réponse

    L'année est rentrée manuellement par l'utilisateur.
    La cellule ne contient pas le format date.

    Quelqu'un à une idée?

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Soit un peu plus clair...

    1. Comment retrouver la ligne de l'année en cours?
    2. L'utilisateur entre quelle année? A quoi sert cette information?
    3. Que doit il se passer ensuite, quand on a l'information 2.
    4. Quelles cellules doit t on d"placer de ou a ou ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut
    bonjour,

    La code d'un bouton permet à l'utilisateur d'ajouter une année. Il doit permettre également de couper et coller les données du tableau N ( certaines cellules ne contienent pas de données) vers le tableau N-1
    Ces 2 tableaux comprennent les 12 mois de l'année

    Voici le code qui pose probléme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub NouvelleAnnee_Click()
     
    Range("C10") = (Range("C10").Value + 1)
     
    Sheets("Réception").Select
    Range("C20:N20").Select
    Selection.Cut
    Sheets("Réception").Select
    Range("C17").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
     
    End Sub
    Le message suivant apparaît: la méthode select de la classe range a échoué

    Merci d'avance

  6. #6
    Membre émérite
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub NouvelleAnnee_Click()
    Application.CutCopyMode = False
    Sheets("Réception").Range("C10") = (Sheets("Réception").Range("C10").Value + 1)
     
    Sheets("Réception").Range("C20:N20").Copy
     
    Sheets("Réception").Range("C17:N17").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
    Sheets("Réception").Range("C20:N20").ClearContents
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E]Copier le contenu d'une cellule vers une autre
    Par idir.17 dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 26/03/2007, 16h50
  2. [VBA-E] Copier une feuille excel d'un fichier A vers un fichier B
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 22/03/2007, 10h49
  3. VBA EXCEL - Copier des ligne vers un autre calseur.
    Par patine31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2007, 12h46
  4. [VBA-Excel]Copier des cellules vers un autre classeur
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/10/2006, 18h18
  5. [VBA-A]Copier des données d'Excel vers Word
    Par soad029 dans le forum VBA Word
    Réponses: 15
    Dernier message: 16/03/2006, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo