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 :

Rajouter une bordure noire dans un tableau par VBA [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2019
    Messages : 38
    Par défaut Rajouter une bordure noire dans un tableau par VBA
    Bonjour,

    J'ai crée une VBA qui crée un tableau dans l'onglet "SYNTHESE" en intégrant des données provenant de d'autres tableau (onglets bleu ciel ci-dessous)
    Je souhaite rajouter une bordure noire dans un tableau par VBA mais je n'y arrive pas. La bordure noire doit séparer les informations situées entre 2 onglets bleu ciel :

    Est-ce que vous pouvez m'aider ?
    J'ai joint un fichier Excel illustratif
    Suivi Stock MCO RGPT - Copie Copie.xlsm
    Merci de votre aide
    Nom : 1651828379740.png
Affichages : 115
Taille : 145,4 Ko


    Voici la VBA que j'ai codé :
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    Sub test()
     
     
    '''xxxxxxxxxxxxxxxxx EFFACEMENT DES DONNEES EXIXTANTES xxxxxxxxxxxxxxxxxxxx'''''
    ThisWorkbook.Activate
    Sheets("SYNTHESE").Select
    Range("B7:N100000").Select
    Selection.Clear
     
    '''xxxxxxxxxxxxxxxxx EFFACEMENT DES DONNEES EXIXTANTES xxxxxxxxxxxxxxxxxxxx'''''
     
     
     
     
    Dim Titre, dt As Integer, ws As Worksheet, cel As Range, n As Integer
    Dim nbLignes As Long
     
     
     
     
     
    ', dest As Range
    Dim Deb As Long
    Set ws = ThisWorkbook.Worksheets("SYNTHESE")
    Dim Sh As Worksheet, C As Range
     
     
    For Each Sh In Sheets
    If Sh.Tab.ColorIndex = 33 Then
     
    '''''''''''''''''''''''''' RISK '''''''''''''
     
     
    For Each cel In Sh.Range("A7:A" & Sh.Range("A" & Rows.Count).End(xlUp).Row)
     
    dt = ws.Cells(Rows.Count, 2).End(xlUp).Row + 1
     
    ws.Range("B" & dt) = cel.Offset(, 0)
    ws.Range("C" & dt) = cel.Offset(, 1)
    ws.Range("D" & dt) = cel.Offset(, 2)
    ws.Range("E" & dt).Formula = ws.Range("X" & dt).Formula
    ws.Range("F" & dt).Formula = ws.Range("Y" & dt).Formula
    ws.Range("G" & dt).Formula = ws.Range("Z" & dt).Formula
    ws.Range("H" & dt).Formula = ws.Range("AA" & dt).Formula
    ws.Range("I" & dt).Formula = ws.Range("AB" & dt).Formula
    ws.Range("J" & dt).Formula = ws.Range("AC" & dt).Formula
    ws.Range("K" & dt).Formula = ws.Range("AD" & dt).Formula
    ws.Range("L" & dt).Formula = ws.Range("AE" & dt).Formula
    ws.Range("M" & dt).Formula = ws.Range("AF" & dt).Formula
    ws.Range("N" & dt).Formula = ws.Range("AG" & dt).Formula
     
    Next cel
     
     
    '''''''''''''''''''''''''' RISK '''''''''''''
     
     
    End If
    Next Sh
     
     
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N'''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N'''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N'''''''''''''''''''''''
     
    Range("B7:N10000").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    End With
     
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N'''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N'''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''ALIGNEMENT DE LA CELLULE B à N''''''''''''''''''''''''
     
     
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
     
    Range("E7:N10000").Select
    Application.CutCopyMode = False
    Selection.Style = "Comma"
    Selection.NumberFormat = _
    "_-* #,##0.0 _€_-;-* #,##0.0 _€_-;_-* ""-""?? _€_-;_-@_-"
    Selection.NumberFormat = "_-* #,##0 _€_-;-* #,##0 _€_-;_-* ""-""?? _€_-;_-@_-"
     
     
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''mettre les cellules à "-"''''''''''''''''''''''''
     
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
     
     
    ThisWorkbook.Sheets("MODELE").Range("A3:M4").Copy
    With ws.Range("B1:N10000")
    For i = 7 To dt
    If .Range("B" & i) <> "Totalazerty" And .Range("B" & i) <> "" Then
    .Rows(i).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End If
    Next i
    End With
     
     
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
    ''''''''''''''''''''''''zzzzzzzzzzzzzzzzzzzzzzzzzzz MISE EN PAGE
     
    Range("P10").Select
     
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 440
    Par défaut
    Bonjour,

    Pour placer une bordure épaisse à chaque changement de code:
    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
    Option Explicit
     
    Sub PlacerBordures()
        Dim kR As Long
        ThisWorkbook.Worksheets("SYNTHESE").Select
        kR = 6
        While Range("B" & kR) <> ""
            If Range("B" & kR) <> Range("B" & kR + 1) Then BordureBasse Range("B" & kR)
            kR = kR + 1
        Wend
    End Sub
     
    Sub BordureBasse(rCell As Range)
        With rCell.Resize(1, 13).Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlMedium
        End With
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2019
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2019
    Messages : 38
    Par défaut
    bonjour,

    Merci cela fonctionne

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

Discussions similaires

  1. Remplacer du texte dans un tableau par une image
    Par vandman dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/06/2016, 15h05
  2. [XL-2010] Controler la saisie dans un tableau par une boite de dialogue
    Par narjissio dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 19/03/2015, 11h16
  3. changement une valeur dans un tableau par un autre
    Par nisrinege dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/08/2014, 10h00
  4. [XL-2010] [VBA ARRAY]Recherche dans un tableau par rapport à une plage
    Par Hugo_pack dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/07/2014, 18h00
  5. Mail Transfère par Domaine sur une même feuille dans un tableau
    Par meryn dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/04/2012, 12h49

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