VBA Bordure de cellule qui se déplace

Anto_n1

XLDnaute Nouveau
Bonjour à tous!
Il s'agit ici de mon premier message. Je travail sous Vba pour mon travail depuis plusieurs mois et jusqu'ici, j'arrivais toujours à trouver des réponses (sur le net et en cherchant).

Il s'agit d'une question sans importance mais irrésolue, peux être saurez vous éclairer mes lanternes.

Je réalise par VBA la mise en forme de mon tableau. Il y a un exemple détaillé dans le fichier joint. Le souci concerne le déplacement apparemment sans raison d'une bordure.

1) Initialement, une cellule (E10 dans le fichier) à une bordure basse simple et une bordure gauche double. La cellule E11 (dessous) est vide.

2) Je veux que la cellule E11 est une bordure gauche double. Rien d'autre en change. Tout parait simple.

4) En lançant la macro, je remarque le déplacement de la bordure basse également. En effet, elle passe de l'etat "bordure basse E10" à l'etat "bordure haute E11".

Visuellement, rien ne change. Dans la pratique, si on insere des lignes entre les deux, ça fout le bordel :)

Manque t il quelque chose au code? ou se situe mon erreur?


PHP:
Sub Exemple()

'Selectionner la case E10 avant de lancer la macro
Range("E10").Activate
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 0)).Select
 'test
 With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlDouble
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThick
    
   End With

End Sub


Merci pour votre aide!
 

Pièces jointes

  • Exemple 1 bordure.xlsm
    19.3 KB · Affichages: 47
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : VBA Bordure de cellule qui se déplace

Bonjour à tous,

Bienvenue sur XLD

Peux-tu essayer :
VB:
Option Explicit
Sub Exemple()
    Range("E10").Activate
    With ActiveCell.Offset(1, 0)
    .Borders(xlEdgeLeft).LineStyle = xlDouble
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    End With
End Sub

A+ à tous
 

Anto_n1

XLDnaute Nouveau
Re : VBA Bordure de cellule qui se déplace

Bonjour JCGL,

merci.

Ta solution fonctionne :)
En revanche, j'ai désormais une duplication de cette bordure. Elle se trouve bien en Bottom de la E10, mais egalement en TOP de la E11. (par curiosité :) mon souci est bel est bien réglé!)

Sais tu quelle est la raison de ce phénomène?

Réponse rapide et efficace, en tout cas!

Edit: sinon, je ne comprends pas vraiment le "Explicit" ? Au dessus du Sub, il ne sert à rien non?
ReEdit: je crois qu'en mettant le pouce vert, je signale que la réponse est donnée?
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : VBA Bordure de cellule qui se déplace

Bonjour à tous,

Le 'Option Explicit' est mis par défaut dès que j'ouvre le VBE (choix possible dans les paramètres).

"Il ne sert à rien"... C'est un peu réducteur... Tu peux ne pas le mettre et le code pourra fonctionner. Mais si tu le mets, il t'obligera à déclarer tes variables et sera une aide très appréciable sur la syntaxe employée : tu écris tout en minuscule et si la syntaxe utilisée est bonne la casse se modifie.

A+ à tous
 

Discussions similaires

Réponses
12
Affichages
590

Statistiques des forums

Discussions
312 382
Messages
2 087 834
Membres
103 667
dernier inscrit
datengo