XL 2019 texte et bordure bouton vba

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 !

frederio

XLDnaute Impliqué
Bonjour à tous
Tu vous connais comment faire ?
Si tu veux être d’accord avec moi ??? vous m’aidez a expliqué comme Excel Merci

la feuille (Belgique)

Pour appliquer à notre texte l'une de blanc et une bordure à la cellule active avec blanc bouton vba

sur "AM20:AV21"
2025-07-11_15-45-12.jpg


Pour appliquer à notre texte l'une de blanc et une bordure à la cellule active avec blanc bouton vba sur " D12+F12:I12+K12" (Suite la journée 1- 30) base texte et bordure blanc
2025-07-11_15-45-12.jpg


Retour noir

Pour appliquer à notre texte l'une de noir et une bordure à la cellule active avec noir bouton vba

sur "AM20:AV21"
2025-07-11_15-46-50.jpg


Pour appliquer à notre texte l'une de noir et une bordure à la cellule active avec noir bouton vba sur " D12+F12:I12+K12" (Suite la journée 1- 30) base texte et bordure noir
2025-07-11_15-46-50.jpg


Reste couleur RGB (198, 224, 180)
(Suite la journée 1- 30)
2025-07-11_15-46-50.jpg
 

Pièces jointes

Dernière édition:
Bon OK il suffit de masquer les lignes :
VB:
Sub Masquer()
Application.ScreenUpdating = False
Afficher
[D333:K375].EntireRow.Hidden = True 'masque les lignes
With [D:K]
    .FormatConditions.Add xlExpression, Formula1:="=($F1=""A"")+($F1=""B"")"
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
With [AM:AV]
    .FormatConditions.Add xlExpression, Formula1:="=($AN1=""A"")+($AN1=""B"")"
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
End Sub

Sub Afficher()
On Error Resume Next
[D:K,AM:AV].FormatConditions.Delete
Rows.Hidden = False 'affiche toutes les lignes
End Sub
 

Pièces jointes

Dernière édition:
Le masquage des lignes de la plage D333:K375 prend du temps => environ 0,3 seconde chez moi (je ne sais pas pourquoi).

Il existe un moyen bien plus simple et bien plus rapide => modifier la formule de la MFC de la plage D:K :
VB:
Sub Masquer()
Application.ScreenUpdating = False
Afficher
With [D:K]
    .FormatConditions.Add xlExpression, Formula1:="=$F2="""""
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
With [AM:AV]
    .FormatConditions.Add xlExpression, Formula1:="=($AN2="""")+($AN3="""")"
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
End Sub

Sub Afficher()
On Error Resume Next
[D:K,AM:AV].FormatConditions.Delete
End Sub
En D:K la MFC traite une ligne quand la ligne du dessous est vide.

Edit : j'ai aussi modifié dans le même esprit la formule de la MFC de la plage AM:AV.
 

Pièces jointes

Dernière édition:
Bonjour frederio,

Il suffit d'agrandir la plage de la 2ème MFC :
VB:
Sub Masquer()
Application.ScreenUpdating = False
Afficher
With [D:K]
    .FormatConditions.Add xlExpression, Formula1:="=$D2="""""
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
With [AM:BE]
    .FormatConditions.Add xlExpression, Formula1:="=($AM2="""")+($AM3="""")"
    .FormatConditions(1).Interior.Color = vbWhite
    .FormatConditions(1).Font.Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeLeft).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeBottom).Color = vbWhite
    .FormatConditions(1).Borders(xlEdgeRight).Color = vbWhite
End With
End Sub

Sub Afficher()
On Error Resume Next
[D:K,AM:BE].FormatConditions.Delete
End Sub
A+
 

Pièces jointes

Bonjour à toutes & à tous, bonjour @frederio,
Je vois que tu as fini par décourager notre ami Job75 avec tes réponses minimalistes et répétitives.
Pourquoi, comme ton français n'est pas très bon, n'utilises-tu pas Google traduction comme moi ici pour rédiger des messages plus complets ?
Ik zie dat je onze vriend Job75 eindelijk hebt ontmoedigd met je minimalistische en repetitieve antwoorden.
Waarom, aangezien je Frans niet zo goed is, gebruik je Google Translate niet zoals ik hier doe om uitgebreidere berichten te schrijven?

Bon voici une proposition, sans me soucier de la rapidité pour répondre à tes demandes précédentes (ou du moins ce que j'en ai compris)
À bientôt

Code :
VB:
Sub Masquer()
     Dim WSh As Worksheet, rg As Range, Ligne As Range, Blanc As Long, Noir As Long, Vert1 As Long, Vert2 As Long, i As Long
   
     Blanc = RGB(255, 255, 255)
     Noir = RGB(0, 0, 0)
     Vert1 = RGB(226, 239, 218)
     Vert2 = RGB(198, 224, 180)
   
     Set WSh = Sh_Belgique
   
     'Tableau de classement
     Set rg = WSh.[AM4:BE21]
     Application.ScreenUpdating = False
     For Each Ligne In rg.Rows
          With Ligne
               If Len(.Cells(2) & "") = 1 Then
                    .Borders(xlInsideVertical).LineStyle = xlNone
                    .Borders(xlEdgeLeft).LineStyle = xlNone
                    .Borders(xlEdgeRight).LineStyle = xlNone
                    .Borders(xlEdgeBottom).LineStyle = xlNone
                    .Interior.Pattern = xlNone
                    .Font.Color = Blanc
               End If
          End With
     Next Ligne
   
     'Résultats des journées
     Set rg = WSh.[D3:K376]
     'Masquer les équipes non renseignées (nom = 1 lettre)
     With rg
          For i = 1 To 374
               If Len(.Cells(i, 3) & "") = 1 Then
                    With .Rows(i)
                         .Borders(xlInsideVertical).LineStyle = xlNone
                         .Borders(xlEdgeLeft).LineStyle = xlNone
                         .Borders(xlEdgeRight).LineStyle = xlNone
                         .Borders(xlEdgeBottom).LineStyle = xlNone
                         .Interior.Pattern = xlNone
                         .Font.Color = Blanc
                    End With
               End If
          Next i
     End With
     'Masquer les journées vides
     For i = 1 To 374 Step 11
          If rg.Cells(i + 1, 1) = "" Then
               With rg.Rows(i).Resize(11)
                    .Interior.Color = Blanc
                    .Font.Color = Blanc
                    .Borders.LineStyle = xlNone
               End With
          End If
     Next i
     Application.ScreenUpdating = True
   
End Sub

Sub Afficher()
   
     Dim WSh As Worksheet, rg As Range, Ligne As Range, Blanc As Long, Noir As Long, Vert1 As Long, Vert2 As Long, i As Long
   
     Blanc = RGB(255, 255, 255)
     Noir = RGB(0, 0, 0)
     Vert1 = RGB(226, 239, 218)
     Vert2 = RGB(198, 224, 180)
   
     Set WSh = Sh_Belgique
   
     Application.ScreenUpdating = False
   
     'Tableau de classement
     Set rg = WSh.[AM4:BE21]
     For Each Ligne In rg.Rows
          With Ligne
               If Len(.Cells(2) & "") = 1 Then
                    With .Resize(1, 10)
                         .Borders.LineStyle = xlContinuous
                         .Interior.Pattern = xlNone
                         .Font.Color = Noir
                    End With
                    With .Cells(12).Resize(, 2)
                         .Borders.LineStyle = xlDot
                         .Borders(xlInsideVertical).LineStyle = xlNone
                         .Font.Color = Noir
                    End With
                    With .Cells(15).Resize(, 5)
                         .Borders.LineStyle = xlDot
                         .Font.Color = Noir
                    End With
               End If
          End With
     Next Ligne
   
     'Résultats des journées
     Set rg = WSh.[D3:K376]
     'Afficher les équipes non renseignées (nom = 1 lettre)
     With rg
          For i = 1 To 374
               If Len(.Cells(i, 3) & "") = 1 Then
                    With Union(.Cells(i, 1), .Cells(i, 8))
                         .Font.Color = Noir
                         .Interior.Color = Vert2
                    End With
                    With .Cells(i, 3).Resize(, 4)
                         .Font.Color = Noir
                         .Interior.Color = IIf(i Mod 2 = 0, Vert2, Vert1)
                         .Borders(xlInsideVertical).LineStyle = xlContinuous
                         .Borders(xlEdgeLeft).LineStyle = xlContinuous
                         .Borders(xlEdgeRight).LineStyle = xlContinuous
                         .Borders(xlEdgeBottom).LineStyle = xlContinuous
                    End With
               End If
          Next i
     End With
   
     'Afficher les journées vides
     Set Modèle = rg.Resize(11)
     For i = 1 To 374 Step 11
          If rg.Cells(i + 1, 1) = "" Then
               Modèle.Copy
               rg.Rows(i).Resize(374 - i + 1).PasteSpecial Paste:=xlPasteFormats
               Application.CutCopyMode = False
               Exit For
          End If
     Next i
     Application.Goto WSh.[A1]
     Application.ScreenUpdating = True
   
End Sub
 

Pièces jointes

Bonsoir a tous,

Vendredi passe je partie en vacances en France sud

Ce aujourd’hui retour chez moi en belges
J’ai oublié déjà longtemps ne trouve pas site web pour winzip

Tu donne quel site web winzip

je envoyer fichier Excel taille ko
 
Dernière édition:
Bonjour,
Si tu es sous windows peut-être avec un clic droit sur le nom du fichier et :
1753611081547.png

Mais, je ne pense pas que tu passes sous les 1 Mo avec un classeur de 3,34 Mo

Hallo,

Als je Windows gebruikt, klik dan met de rechtermuisknop op de bestandsnaam en: (afbeelding)
Maar ik denk niet dat je met een werkmap van 3,34 MB onder de 1 MB komt.


À bientôt
Tot snel
 
Dernière édition:
- 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
8
Affichages
684
N
Réponses
19
Affichages
3 K
Retour