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 :

Mieux coder : pb récurrent


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut Mieux coder : pb récurrent
    Bonjour à tous,
    J'utilise des macros assez régulièrement tout en y connaissant pas grand chose (j'ai commencé à trifouiller ça depuis 2 mois)

    En ce moment, je bascule beaucoup de "classeurs année" en nouveaux classeurs où les années deviennent les variables colonnes. Je fais donc quasi-exclusivement du copier-coller avec le même code appliqué pour chaque "classeur année" et des lignes d'arrivées distinctes dans un nouveau classeur;
    Comment simplifier donc cet exemple de code (je l'ai allégé de plein de détails de mon côté) pour éviter de retaper à chaque fois les différentes années et les petites modifictions de la ligne de "collage"


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
      '' 2003
        Windows("Autres.xls").Activate
        Windows("France_2003.xls").Activate
        Sheets("Juridi-sexage").Select
        Range("M9:M26").Select
        Selection.Copy
        Windows("Autres.xls").Activate
        Sheets("chefs selon jur-sexe").Select
        Range("C6").Select
        Selection.Paste
     
        '' 2004
        Windows("Autres.xls").Activate
        Windows("France_2004.xls").Activate
        Sheets("Juridi-sexage").Select
        Range("M9:M26").Select
        Selection.Copy
        Windows("Autres.xls").Activate
        Sheets("chefs selon jur-sexe").Select
        Range("C7").Select
        Selection.Paste
     
        '' 2005
        Windows("Autres.xls").Activate
        Windows("France_2005.xls").Activate
        Sheets("Juridi-sexage").Select
        Range("M9:M26").Select
        Selection.Copy
        Windows("Autres.xls").Activate
        Sheets("chefs selon jur-sexe").Select
        Range("C8").Select
        Selection.Paste
     
        '' 2006
        Windows("Autres.xls").Activate
        Windows("France_2006.xls").Activate
        Sheets("Juridi-sexage").Select
        Range("M9:M26").Select
        Selection.Copy
        Windows("Autres.xls").Activate
        Sheets("chefs selon jur-sexe").Select
        Range("C9").Select
        Selection.Paste
     
        '' 2007
        Windows("Autres.xls").Activate
        Windows("France_2007.xls").Activate
        Sheets("Juridi-sexage").Select
        Range("M9:M26").Select
        Selection.Copy
        Windows("Autres.xls").Activate
        Sheets("chefs selon jur-sexe").Select
        Range("C10").Select
        Selection.Paste
    Merci beaucoup !

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu devrais pouvoir remplacer par quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim i as integer
     
    For i = 1 To 5
        Workbooks("France_" & 2002 + i & ".xls").Worksheets("Juridi-sexage").Range("M9:M26").Copy  Workbooks("Autres.xls").Worksheets("chefs selon jure-sexe").Range("C" & i + 5)
    Next i
    PGZ

  3. #3
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    merci, je découvre les variables grace à toi et c'est cool !

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

Discussions similaires

  1. Convention de codage pour mieux coder
    Par flamme34 dans le forum C++
    Réponses: 24
    Dernier message: 27/05/2014, 13h42
  2. Mieux Coder: Corriger les fuites
    Par r0seBa dans le forum Windows Forms
    Réponses: 6
    Dernier message: 25/03/2010, 09h53
  3. [dBase]il y a mieux que la commande sql UPDATE ?
    Par sana72 dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 12/12/2002, 11h59
  4. [CR 8.5][Web] demande de connexion récurrente.
    Par Edison dans le forum Connectivité
    Réponses: 4
    Dernier message: 09/07/2002, 17h48
  5. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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