• Initiateur de la discussion Initiateur de la discussion loya
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

loya

Guest
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
 
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<>""
 
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
 
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)
 
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

@+
 
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
 
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

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
424
Réponses
7
Affichages
686
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
659
Retour