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 :

simplification d'un code


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut simplification d'un code
    Bonjour
    j'aimerais simplifier le code ci-dessous car j'ai à le répéter un certain nombre de fois
    Quelqu'un aurait il une solution ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sheets("Feuil1").Select
        Range("A1:cj1").Select
        Selection.Copy
        Range("A2:A4000").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Calculate
        Selection.Copy
        Range("A2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
    merci

  2. #2
    Membre actif
    Inscrit en
    Février 2008
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 208
    Points : 246
    Points
    246
    Par défaut
    bonjour

    place tout ton code dans une procédure que tu nommerais par exemple : "sub CopierSpécial()"
    ensuite dans ta procédure principale tu appelerais ta procédure CopierSpécial chaque fois que tu en aurais besoin.

    Si tu dois traiter des feuilles autre que Feuil1, il faut enlever ton "Sheets("Feuil1").Select" et le placer dans ta procédure principale avant l'appel à CopierSpécial
    à plus

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    re

    merci, je ne suis pas super calé en vba
    comment fais tu appelles à cette procedure
    J'ai entendu parler de boucle, peut on le faire sur ce code ?

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    Si je peux me permettre
    J’ai éclairci et optimisé un peu ton code

    Merci Le Pierre pour le nom de procédure je n’aurais pas trouvé mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub CopierSpecial()
        'copie sur 4000 ligne
      Range("A1:cj1").Copy
      ActiveSheet.Paste Destination:=Range("A2:A4000")
        'recalcul la feuille
      ActiveSheet.Calculate
        'Surecriture en valeurs de la première colonne
      Range("A2:A4000").Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone
      'desactive le mode copy/cut
      Application.CutCopyMode = False
    End Sub
    Que tu appel de cette manière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub principale()
      '...
      '...
      Sheets("Feuil1").Select
      CopierSpecial
      '...
    End Sub
    C’est plus clair j’espère.

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    merci à tous les deux

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

Discussions similaires

  1. [HTML/PHP] Simplification de mon code
    Par Calvein dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2008, 17h56
  2. [MySQL] Simplification d'un code php
    Par sff dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/08/2008, 14h35
  3. Réponses: 2
    Dernier message: 30/05/2007, 15h04
  4. Simplification de mon code?
    Par totoc1001 dans le forum MATLAB
    Réponses: 6
    Dernier message: 31/01/2007, 16h50
  5. [VBA-E] Aide pour simplification de mon code.
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 11h34

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