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 sous macro dans feuilles différentes [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut Copie sous macro dans feuilles différentes
    Bonjour à tous,

    Pouvez m'expliquer pourquoi cela ne marche pas quand je lance cette macro en étant dans une page différente de la "Feuil5" ? :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For k = 1 To 3
     
        'With Feuil5
            Feuil5.Range("F6:J6").Select
            Selection.Copy
            Feuil5.Cells(k + 5, 6).Select
            Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
       ' End With
    Next k
    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Blaiz58,

    Alors...
    1. Tu ne comprends pas pourquoi ta macro ne fonctionne pas car elle ne fait pas la même chose sur "Feuil6"
    2. Ou tu ne comprends pas pourquoi ta macro ne fait pas ce qui lui ai demandé sur "Feuil5" alors que tu es sur "Feuil6" ?


    Cordialement,
    Kimy

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut
    C'était la 2ème proposition mais du coup j'ai trouvé, il fallait simplement un activate sur la Feuil5 pour que cela se réalise.
    Ah moins que vous ayez une autre solution plus légère ?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne sais pas si tu te rends compte à quel point "pourquoi ça ne marche pas" c'est vague comme explication d'un problème pour quelqu'un qui n'est pas supposer savoir comment ça devrait marcher...

    Je ne sais pas si ça peut résoudre ton problème, mais les Select / Selection sont souvent inutiles.
    Idem pour les options par défaut dans PasteSpecial.
    Ton code pourrait être simplifié ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For k = 1 To 3
            worksheets("Feuil5").Range("F6:J6").Copy
            worksheets("Feuil5").Cells(k + 5, 6).PasteSpecial Paste:=xlPasteFormats
            Application.CutCopyMode = False
    Next k
    Je pense que ton problème venait du fait que tu n'utilisais pas Worksheets pour désigner ta feuille.

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut
    Merci pour l'astuce du select C'est vrai que sans ça va beaucoup mieux et ça évite d'utiliser le Activate ! Donc plus efficace !

    Merci pour votre aide

  6. #6
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Blaiz58,

    Personnellement, je n'utilise jamais de "Select"...
    Lourdeur du code, lourdeur de l’exécution, etc...
    Je crois même qui si tu désactives "Application.Visible", ta macro ne fonctionne plus (un expert répondra peut-être à cette pseudo-affirmation).

    Bref, ce que je te suggère, c'est plus ceci :
    Utilise les "With" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Worksheets("test")
        For k = 1 To 3
            set rng = .Range("K6:J6")
            rng.offset(k, 0) '...
    '[...]
        Next k
    End With
    Le point "." te permet de dire que tu restes dans le "With"

    Ensuite, pour ton format, je pense qu'il serait préférable de le définir directement dans ta macro.

    Si c'est une date, si c'est monétaire, si c'est ... ça sera cependant différent.

    Bref, juste des conseils (pas forcément pertinent pour autant !)

    Cordialement,
    Kimy

  7. #7
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut
    Merci pour tes conseils Kimy_Ire

    En fait, pour le format, je suis passé par cette méthode parce que j'ai défini un format personnalisé et du coup un peu "compliqué" pour le mettre sous VBA ^^

    Mais ça va pas mal me simplifier des choses Merci !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/09/2014, 15h16
  2. [XL-2010] Copie fichier csv dans feuilles xlsm
    Par pdufranc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/10/2012, 11h33
  3. [XL-2007] Comment réactiver une Macro dans feuille
    Par Bugzy1963 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/02/2010, 18h29
  4. [XL-2003] macro dans feuille de calcul
    Par bebert_lama dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/12/2009, 09h11
  5. Comparer des cellules dans feuilles différentes
    Par assiec dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 04/06/2008, 13h20

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