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 :

Comment éviter de répéter du code


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Points : 478
    Points
    478
    Par défaut Comment éviter de répéter du code
    Bonjour,

    Dans une de mes macros, j'ai besoin de repérer dans un onglet une cellule particulière. A partir de cette cellule, j'ai besoin d'insérer 7 colonnes à la droite de cette colonne : Voilà ce que j'ai écrit, ne sachant trop comment faire plus propre (le résultat reste le même) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With Sheets("PMP")
     
        Set StartRange = .Cells.Find("Item group", LookIn:=xlValues)
     
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
            StartRange.Offset(0, 1).EntireColumn.Insert
     
        End With
    Comment aurai-je pu éviter la réitération de ma ligne sept fois SVP ?

    Merci d'avance !

  2. #2
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Essaie ça :
    [EDIT] attends, ça ne marche pas, j'avais pas testé, je te reviens dans 5 min
    [EDIT2] Ca devrait marcher maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range(StartRange.Offset(0, 1), StartRange.Offset(0, 7)).EntireColumn.Insert
    Ou une boucle For ... Next sinon

  3. #3
    Membre confirmé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Points : 478
    Points
    478
    Par défaut
    Bonjour Zebreloup,

    Je ne dirai qu'un mot : "Royal".
    Je te remercie, c'est parfait, ça fonctionne !

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

Discussions similaires

  1. [AC-2007] Est-il possible d'éviter de répèter du code ?
    Par tibofo dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/12/2009, 17h36
  2. Réponses: 15
    Dernier message: 14/10/2009, 14h43
  3. Réponses: 2
    Dernier message: 31/05/2007, 13h37
  4. Réponses: 3
    Dernier message: 17/08/2006, 04h11

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