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 bordure vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2014
    Messages : 74
    Par défaut Simplification bordure vba
    Bonjour à tous!

    J'ai un code un petit peu long pour mes bordures..

    Pensez-vous qu'il est possible de simplifier?

    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
    ' Mise en place des bordures
          For i = 1 To 12
          .Range(.Cells(i, j), .Cells(i, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThin
          Next i
          .Range(.Cells(21, j), .Cells(21, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThin
          For i = 26 To 27
          .Range(.Cells(i, j), .Cells(i, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThin
          Next i
          .Range(.Cells(33, j), .Cells(33, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThin
          For i = 45 To 46
          .Range(.Cells(i, j), .Cells(i, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThin
          Next i
          For i = 1 To 53
          .Range(.Cells(i, j + 1), .Cells(i, j + 1)).Borders(xlEdgeLeft).LineStyle = xlContinuous
          Next i
          For i = 1 To 53
          .Range(.Cells(i, j + 2), .Cells(i, j + 2)).Borders(xlEdgeLeft).LineStyle = xlContinuous
          .Range(.Cells(i, j + 2), .Cells(i, j + 2)).Borders(xlEdgeRight).LineStyle = xlContinuous
          Next i
          .Range(.Cells(1, j), .Cells(60, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlThick
          .Range(.Cells(54, j + 1), .Cells(60, j + 2)).BorderAround _
          ColorIndex:=1, Weight:=xlMedium
          .Range(.Cells(5, j), .Cells(12, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlMedium
          .Range(.Cells(28, j), .Cells(44, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlMedium
          .Range(.Cells(45, j), .Cells(49, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlMedium
          .Range(.Cells(50, j), .Cells(53, j + 3)).BorderAround _
          ColorIndex:=1, Weight:=xlMedium
          .Range(.Cells(60, j + 1), .Cells(60, j + 2)).Borders(xlEdgeBottom).LineStyle = xlNone
          .Range(.Cells(53, j), .Cells(53, j)).Borders(xlEdgeBottom).LineStyle = xlNone
          .Range(.Cells(53, j + 3), .Cells(53, j + 3)).Borders(xlEdgeBottom).LineStyle = xlNone
    Merci d'avance!

    Antoine

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Barbeaua
    Essayes ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     For i = 1 To 46
        If i =< 12 or i=21 or i = 26 or i = 27 or i = 33 or i >= 45 then
               .Range(.Cells(i, j), .Cells(i, j + 3)).BorderAround _
               ColorIndex:=1, Weight:=xlThin
        end if
    Next i
     
    For i = 1 To 53
          .Range(.Cells(i, j + 1), .Cells(i, j + 1)).Borders(xlEdgeLeft).LineStyle = xlContinuous
          .Range(.Cells(i, j + 2), .Cells(i, j + 2)).Borders(xlEdgeLeft).LineStyle = xlContinuous
    Next i
    La suite doit être simplifiable également mais cela ne me saute pas aux yeux a première vue et puis ce que j'ai fais peut surement l'etre aussi
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2014
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2014
    Messages : 74
    Par défaut Merci
    C'est déjà beaucoup merci!

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

Discussions similaires

  1. [XL-2010] Aide simplification programmes VBA
    Par 010714 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 18/07/2014, 18h17
  2. [XL-2007] Simplification code VBA
    Par motard01 dans le forum Excel
    Réponses: 2
    Dernier message: 04/03/2014, 08h08
  3. [XL-2003] Simplification code VBA
    Par jackborogar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/04/2012, 10h55
  4. [XL-2003] Simplification code VBA généré par enregistreur de macro
    Par altra dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 11/08/2009, 11h47
  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