Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Doublons et bordure

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 !

liquoreux

XLDnaute Junior
Bonjour,

Je cherche une macro évènement qui mettrait en forme les lignes des colonnes A à AD lorsque les cellules des trois premières colonnes sont identiques.
La mise en forme se ferait par des bordures distinguant le groupe de cellules identiques.
Je joins un fichier excel pour plus d'explications.
Je ne veux pas de MFC.

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Doublons et bordure

Bonsoir liquoreux,
Bonsoir à tous,

Sans conviction 😕
VB:
Sub Bordures()
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  'Cells(i, 1).Resize(, 30).Borders(xlEdgeTop).LineStyle = xlNone
  If Cells(i, 1) & Cells(i, 2) & Cells(i, 3) <> Cells(i - 1, 1) & Cells(i - 1, 2) & Cells(i - 1, 3) Then
    With Cells(i, 1).Resize(, 30).Borders(xlEdgeTop)
      .LineStyle = xlNone
      .Weight = xlThick
      .ColorIndex = 3 'Rouge
   End With
 End If
Next i
Application.ScreenUpdating = True
End Sub

Je ne sais pas pourquoi, mais un doute m'habite 🙁
Tu entends quoi par ceci :
lorsque les cellules des trois premières colonnes sont identiques

Si la séquence suivante se présente, faut-il encadrer chaque bloc ? :
Exemple :
ABC
ABC
DHG
DHG
DHG

Ou uniquement ce type de bloc :

AAA
AAA
CCC
CCC

Klin89
 
Re : Doublons et bordure

Re liquoreux,
C'est mieux comme ça, mais le style n'est pas très orthodoxe.

Je résume : on se base sur les 3 premières cellules de chaque ligne pour encadrer chaque bloc.

VB:
Sub Bordures()
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  Cells(i, 1).Resize(, 30).Borders(xlEdgeTop).LineStyle = xlNone
  If Cells(i, 1) & Cells(i, 2) & Cells(i, 3) <> Cells(i - 1, 1) & Cells(i - 1, 2) & Cells(i - 1, 3) Then
   If (Application.CountIf(Cells(i - 1, 1).Resize(, 3), Cells(i - 1, 1)) = 3) Or _
   (Application.CountIf(Cells(i, 1).Resize(, 3), Cells(i, 1)) = 3) Then
     With Cells(i, 1).Resize(, 30).Borders(xlEdgeTop)
       .LineStyle = xlNone
       .Weight = xlThick
       .ColorIndex = 3 'Rouge
     End With
   End If
 End If
Next i
With Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1).Resize(, 30).Borders(xlEdgeBottom)
  .LineStyle = xlNone
  .Weight = xlThick
  .ColorIndex = 3 'Rouge
End With
Application.ScreenUpdating = True
End Sub

Ici les blocs affichant des séquences identiques mais dont les 3 cellules adjacentes affichent les mêmes lettres sont encadrés.

C'est vachement clair 😛

Klin89
 
Dernière édition:
Re : Doublons et bordure

Bonjour,

Je te remercie pour ta réponse.

Toutefois, je dois en effet te préciser que les cellules des trois premières colonnes ne sont pas forcément identiques sur une même ligne

Exemple :
ABC
ABC
DHG
DHG
DHG

Par contre, ta macro fonctionne très bien sur le modèle :

AAA
AAA
CCC
CCC
 

Pièces jointes

Re : Doublons et bordure

Bonjour liquoreux,

Je t'ai fourni 2 macros dont le résultat diffère, y'en a bien une qui te renvoie le résultat souhaité.

Là, je commence à plus rien piger 😕 😕
Tu pourrais fournir un classeur avec les différents cas pouvant y figurer et le résultat escompté.
Dans ton 1er classeur, les données affichées sont de cet ordre :
AAA
AAA
CCC
CCC

Dans le 2ème, c'est ceci :

ABC
ABC
FHM
FHM

Tu peux pas joindre un 3ème classeur où les données seraient de cet ordre et m'indiquer le résultat souhaité.

AAA
AAA
BHG
BHG
RTP
RTP
CCC
CCC
Pour moi la 2ème macro répond à ta demande.

Klin89
 
Re : Doublons et bordure

Je te remercie pour ta patiente.

J'ai beau utiliser ta macro, elle ne fonctionne pas par rapport à mes besoins.

J'ai fourni un tableau avec des éléments impersonnels.
J'aurais peut-être dû être plus précis.

Voici un nouveau tableau avec
- un onglet MACRO avec ta macro
- un onglet RESULTAT pour le résultat souhaité

Merci d'avance.
 

Pièces jointes

- 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

Discussions similaires

Réponses
16
Affichages
556
Réponses
7
Affichages
306
Réponses
5
Affichages
915
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…