Bordure auto

loya

XLDnaute Nouveau
Bonjour;
j'ai fait un recherche sur le site pour trouver une macro qui fait des bordures sans résultat pour mon cas:
je m'explique :Au fur et a mesure que je rempli une cellule de A1 a E10 des bordures en gras se mettent sur les cellules.
Merci
 

Cousinhub

XLDnaute Barbatruc
Re : Bordure auto

Bonsoir,
Dès que A1 est rempli, on met en gras toute la ligne, ou cellule par cellule?
regarde du côté de la mise en forme conditionnelle
si cellule par cellule
formule = A1<>""
format : choisis tes bordures
si A1 seulement :
formule =$A1<>""
 

Cousinhub

XLDnaute Barbatruc
Re : Bordure auto

Bonsoir,
effectivement, j'avais pas testé...
Par VBA, surement, avec ceci dans le code de la feuille (Alt + F11) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:E10")) Is Nothing Then
    If Target.Value <> "" Then
        With Target.Borders
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
    Else
        With Target.Borders
            .LineStyle = xlNone
        End With
    End If
End If
End Sub
 

rainbow69006

XLDnaute Occasionnel
Re : Bordure auto

Bonjour

Petite question vis a vis de ce poste, comment faire si l'on veu par exemple:
si l'on rajoute quelque chose en A1 sa mette en gras n'ont pas les bordures de A1 mais les bordures A1:A10 ?
si l'on rajoute quelque chose en B1 sa mette en gras n'ont pas les bordures de B1 mais les bordures B1:B10 ? et ainsi de suite

Si quelqu'un a une idee

(PS: ne vous cassez pas la tete sur ca c'est juste une question de curieux)
 

porcinet82

XLDnaute Barbatruc
Re : Bordure auto

Salut,

Pour répondre a ta question, il suffit de légèrement modifier le code de bhbh :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B]Range("A1:E1")[/B]) Is Nothing Then
    If Target.Value <> "" Then
        With [B]Range(Cells(1, Target.Column), Cells(10, Target.Column)).Borders[/B]
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
    Else
        With [B]Range(Cells(1, Target.Column), Cells(10, Target.Column)).Borders[/B]
            .LineStyle = xlNone
        End With
    End If
End If
End Sub

@+
 

rainbow69006

XLDnaute Occasionnel
Re : Bordure auto

Merci de ta reponse porcinet.

Cela marche bien.

Sauf que dans mon cas dans les cellules A1:E1 j'ai des formules du type
=IF(A23="","",A23)

Exemple dans la cellule A1 j'ai =IF(A23="","",A23)
Eh bien si j'ecris quelque chose en A23 sa me l'ecrit en A1 mais a ce moment la sa ne me cree pas les bordures.

Comment puis je regler le probleme ?

Merci
 

porcinet82

XLDnaute Barbatruc
Re : Bordure auto

Salut,

Normal que le code ne s'execute pas puisqu'il se lance si tu modifies le contenu des cellules A1:E1 !!!
Donc modifie la ligne If Not Intersect(Target, Range("A1:E1")) Is Nothing Then par la ligne suivante If Not Intersect(Target, Range("A23:E23")) Is Nothing Then

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 610
Messages
2 090 204
Membres
104 451
dernier inscrit
scp9990