VBA Bordures sur ligne si cellule non vide

Fredox

XLDnaute Occasionnel
Bonjour,

Je souhaiterais avoir des bordures de cellules tans que la cellule CX n'est pas vide, sinon la macro s'arrête.

Ma plage de colonnes lignes est A8:Q1008, la valeur de référence est contenu en celulle C8 (puis C9, C10 et ainsi de suite tant que le contenu n'est pas différent de rien)

Pour le format des bordures sur la ligne tant qu'en C il y a du contenu:
Code:
     .borders(xlInsideVertical).LineStyle = 1
     .borders(xlInsideVertical).Color = RGB(128, 128, 128)
     .borders(xlEdgeLeft).Weight = 3
     .borders(xlEdgeLeft).Color = RGB(128, 128, 128)
     .borders(xlEdgeRight).Weight = 3
     .borders(xlEdgeRight).Color = RGB(128, 128, 128)

Possible d'avoir un coup de main pour la macro ?

Merci
 

Staple1600

XLDnaute Barbatruc
Re

Avec plus d'endives ;)
VB:
Sub Bordures()
With Range("A8:Q" & Range("C8").End(xlDown).Row)
    With .Borders(xlInsideVertical)
    .LineStyle = 1: .Color = RGB(128, 128, 128)
    End With
    With .Borders(xlEdgeLeft)
    .Weight = 3: .Color = RGB(128, 128, 128)
    End With
    With .Borders(xlEdgeRight)
    .Weight = 3: .Color = RGB(128, 128, 128)
    End With
End With
End Sub
NB: Mais pour moi, il pourra y avoir un petit souci
(avec les deux codes)
 

Staple1600

XLDnaute Barbatruc
Re

Fredox
Le souci sera le suivant
Lance cette macro sur une feuille vierge
VB:
Sub Bouclettes()
For i = 8 To 33
Select Case i Mod 8
Case 0
Cells(i, "C") = 1600
Case 1 To 4
Cells(i, "C") = "Staple"
End Select
Next
End Sub
Puis lance la macro Bordures
Et tu verras apparaitre le souci ;)
 

Staple1600

XLDnaute Barbatruc
Re

=>Fredox
Fais le test et tu comprendras ce que je veux dire.
(Ou simplement fais le test ne serait-ce que par courtoisie, parce que j'ai pris le temps de te concocter une macro exemple :rolleyes:)

=>Marcel32
Tu as fait le test que je propose dans le message#18 ?
 

Staple1600

XLDnaute Barbatruc
Re

Je vois qu'on ne se comprends pas.
C'est pas grave.

Je dis juste que s'il y a des trous dans la colonne C, seul le premier bloc aprés C8 aura des bordures

Si tu as lancé la macro Bouclettes, (puis la macro Bordures), explique pourquoi la plage A16:Q20 n'a pas de bordures ?
 

TooFatBoy

XLDnaute Barbatruc
Je vois qu'on ne se comprends pas.
En tout cas, moi je comprends parfaitement ce que tu dis. ;)

Je ne pige pas ce que tu ne comprends pas dans la question initiale "tant que la cellule Cx n'est pas vide".

Essaye de transposer ce qu'il demande dans le message #1 (il faut y lire "tant" au lieu de "tans") en utilisant une boucle While (tant que), et tu devrais obtenir (en un peu plus de temps) la même chose qu'avec sa macro actuelle.
 

Staple1600

XLDnaute Barbatruc
Re

Dans mon exemple, il n'y aura jamais de bordures aprés la ligne 12 alors que plus bas, les cellules en colonne C ne sont pas vides.
C'est donc pour moi un potentiel souci.
Il n'y aura donc jamais dans cette configuration, de bordure sur la plage A13:Q1008.
 

Staple1600

XLDnaute Barbatruc
Re

C16 n'est pas vide et pourtant pas de bordures
01Fredox.jpg
 

TooFatBoy

XLDnaute Barbatruc
Dans mon exemple, il n'y aura jamais de bordures aprés la ligne 12 alors que plus bas, les cellules en colonne C ne sont pas vides.
C'est donc pour moi un potentiel souci.
Il n'y aura donc jamais dans cette configuration, de bordure sur la plage A13:Q1008.
Qu'est-ce que ça peut bien faire, vu que c'est ce qu'il demande, ça ne nous regarde pas.

Je pense que s'il a choisi la colonne C, ce n'est pas un hasard.
Sans fichier, pas facile d'extrapoler et modifier sa question.

You've got problem with french, man ? :D
Il a dit "tant que la cellule Cx n'est pas vide, sinon la macro s'arrête".
Il n'a pas dit "pour toutes les lignes où la cellule Cx n'est pas vide".
 

Discussions similaires

Réponses
8
Affichages
616