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 :

copie de cellule avec macro ne fonctionne pas


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut copie de cellule avec macro ne fonctionne pas
    Bonjour a tous
    Voila !!
    J'ai un classeur de deux feuilles. La premère me sert a entrer des valeurs qui doivent être retournées dans la deuxième feuille grâce à des macro pour chaque semaine.
    Mon problème est à la cellule I8 : dans ma macro je faisais un copier coller sur ma deuxieme feuille en "mensuelJ7" et cela pour chaque semaine. Cela ne fonctionnait pas car la macro recopiait la formule et non le résultat.
    J'ai donc essayé la formule qui se trouve sur la feuille mensuel en J7 mais elle me copie ma cellule I8 dans toutes mes recap hebdomadaires ce qui fausse tout mes calculs.

    Par ailleurs, est-il possible de verrouiller la récap hebdomadaire une fois que celle-ci est enregistrée sur la feuille mensuelle afin d'éviter toute modification post enregistrement ?


    Merci a tous !!!!

    merci, bonne soirée à tous
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 57
    Points : 42
    Points
    42
    Par défaut
    si tu veux copier la valeur d'une formule il faut que tu fasses copier/collage special valeur si tu enregistres une macro.

    Et pour protéger une feuille tu peux utiliser la fonction "protéger la feuille" que tu trouveras dans l'onglet révision

  3. #3
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour,

    Tu peux déjà simplifier le code.
    par exemple pour que les cellules C4,E4,G4 de la feuille "mensuel" prennent les valeurs respectives de E5,F5 et H5 de la feuille "hebdo", tu peux utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Sheets("mensuel").Range("C4") = Sheets("hebdo").Range("E5").Value
        Sheets("mensuel").Range("E4") = Sheets("hebdo").Range("F5").Value
        Sheets("mensuel").Range("G4") = Sheets("hebdo").Range("H5").Value
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
        Range("E5").Select
        Selection.Copy
        Sheets("mensuel").Select
        Range("C4").Select
        ActiveSheet.Paste
        Sheets("hebdo").Select
        Range("F5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("mensuel").Select
        Range("E4").Select
        ActiveSheet.Paste
        Sheets("hebdo").Select
        Range("H5").Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("mensuel").Select
        Range("G4").Select
    je sais que ça ne répond par directement à la question mais ça t'aidera à y voir plus clair.
    Par ailleurs je te suggère de supprimer tous les modules vides

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour,

    Cela fonctionne comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("mensuel").Range("J7").Value = Worksheets("hebdo").Range("I8").Value
    D'ailleurs, fais comme ça pour l'ensemble : tu n'as pas besoin de faire du copier/coller.

    Enfin, pour la protection : Outils/Protection. A savoir, si c'est quelque chose de vraiment important, ce n'est vraiment pas bon d'utiliser les protections Excel. En effet, les protections se font sauter assez rapidement par macros.

    A+

    EDIT : cela te copiait ta formule entière parce que tu faisais un Paste classique. Il faut faire un PasteSpecial(xlPasteValues) pour ne garder que les valeurs. Mais bon, comme dit précédemment, ça ne sert à rien de passer par des Copy/Paste.
    DeaD

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/09/2014, 15h58
  2. [LibreOffice][Tableur] macro ne fonctionne pas avec versions récentes de Libre Office
    Par tikanak dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 08/04/2014, 15h19
  3. Réponses: 0
    Dernier message: 02/02/2011, 15h55
  4. XL-Macro ne fonctionne pas avec version small business edition
    Par emorex6 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 14/01/2008, 15h08
  5. Réponses: 16
    Dernier message: 01/02/2006, 20h09

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