lignes en gras de 6 en 6

  • Initiateur de la discussion Pascal
  • Date de début
P

Pascal

Guest
Bonsoir à tous !

J'aimerais mettre en gras les lignes :

1, 7, 13, 19, 25 etc. (de 6 lignes en 6 lignes) ainsi que les lignes

5, 11, 17, 23, etc (de 6 lignes en 6 lignes) jusqu'à la fin d'une feuille

quelle est la macro la plus simple pour effectuer ceci.

Merci et à bientôt !
 
B

Baroude

Guest
Hello le forum et Pascal,

Voici ma solution :

Sub Mettre_en_gras()
Application.ScreenUpdating = False
For Ligne = 1 To 65536 Step 6
Rows(Ligne).Select
Selection.Font.Bold = True
Next Ligne
End Sub

Pour les lignes 7 et suivante remplacer Ligne=1 par Ligne=7

Bon courage
Baroude
 
B

Baroude

Guest
re-bonjour,

Excuse moi Monique, mais je me trompe ptêt (il est tard) mais c'est pas plutôt :
=OU(LIGNE()/6-ENT(LIGNE()/6)=0;LIGNE()/6-ENT(LIGNE()/6)=5/6)
càd 0 au lieu de 1/6 ?

Pour mon post il faut lire remplacer Ligne=1 par Ligne=5... pardon

Bonne nuit à tous zé toutes
Baroude
 
X

X@v

Guest
Bonjour,


Voici un macro qui tourne correctement

Sub Macro1()
Dim Fin, Compteur1, Compteur2, I As Variant

Fin = Feuil1.Rows.Count
Compteur1 = 6
Compteur2 = 2
For I = 1 To Feuil1.Range("a" & Fin).End(xlUp).Rows
If Compteur1 = 6 Then
Feuil1.Rows(I).Font.Bold = True
Compteur1 = 1
Else
Compteur1 = Compteur1 + 1
End If
If Compteur2 = 6 Then
Feuil1.Rows(I).Font.Bold = True
Compteur2 = 1
Else
Compteur2 = Compteur2 + 1
End If
Next I
End Sub

Je reviens pour les rxplications
sorry
Xav
 
P

Pascal

Guest
Bonsoir Monique, bonsoir X@v

Merci à tous les deux pour vos solutions
mais Monique que dois-je faire une fois que j'ai mis ta formule dans la mise en forme conditionnelle et la formule est :
=OU(LIGNE()/6-ENT(LIGNE()/6)=1/6;LIGNE()/6-ENT(LIGNE()/6)=5/6)

j'ai cliqué sur OK mais rien ne se passe !

Quant à toi X@v excel me renvoie une erreur à la ligne :

For I = 1 To Feuil1.Range("A" & Fin).End(xlUp).Rows

pour l'instant c'est la soluce de Baroude que je comprends et qui marche le mieux

Merci quand même @ +
 
B

Baroude

Guest
Je me permet de répondre à la place de monique :

Une fois que tu as recopié (ou coller) la formule :
=OU(LIGNE()/6-ENT(LIGNE()/6)=1/6;LIGNE()/6-ENT(LIGNE()/6)=5/6)

avant de cliquer sur OK tu cliques sur "Format..." là tu choisis "Gras" (comme tu veux) et après tu valides par OK

Ensuite tu sélectionnes ta cellule, tu fais Copier, tu sélectionnes ta plage de cellules à coller et t fais Collage spécial - Coller format...

J'espère que ça te conviens...
Bonne nuit
Baroude
 
M

Monique

Guest
Re,

Tu sélectionnes 1 ou plusieurs cellules ou lignes
Barre de menus - Format - Mise en forme conditionnelle -
Condition 1 : tu choisis "La formule est"
Tu tapes ta formule.
Ensuite, surtout, tu cliques sur le petit rectangle, à droite : "Format"
Là, tu choisis ta police, tes bordures, tes motifs.
Tu cliques OK (pour le format que tu as choisi)
Puis tu recliques OK
Après, avec l'icône qui ressemble à un pinceau, tu copies ton format conditionnel sur les autres cellules.
 
X

X@v

Guest
Re bonsoir,

Je ne vais pas analyser les solutions des autres qui doivent être excellentes. Cependant, je te fournis ici une version simplifiée de ma macro (entre parenthèse ma précédente macro tourne très bien chez moi sous office 2000 (francais)).


Dim Fin, Compteur1, Compteur2, I As Variant


Compteur1 = 6
Compteur2 = 2
For I = 1 To 65536
If Compteur1 = 6 Then
Feuil1.Rows(I).Font.Bold = True
Compteur1 = 1
Else
Compteur1 = Compteur1 + 1
End If
If Compteur2 = 6 Then
Feuil1.Rows(I).Font.Bold = True
Compteur2 = 1
Else
Compteur2 = Compteur2 + 1
End If
Next I

Si tu decides de prendre ma solution, fais moi signe, je te l'expliquerai.

A bientot

X@v

PS je quitte dans 1/4 H
 
M

Mytå

Guest
Bonsoir le Forum

Le plus court en macro serait ceci

Option Explicit
Sub Mettre_en_gras()
Dim ligne As Double
For ligne = 1 To 65531 Step 6
Rows("" & ligne & ":" & ligne & "").Font.Bold = True
Rows("" & (ligne + 4) & ":" & (ligne + 4) & "").Font.Bold = True
Next ligne
End Sub

Encore mieux sur verification de la colone A pour la rapidité

Option Explicit
Sub Mettre_en_gras()
Dim ligne As Double
For ligne = 1 To Range("a65535").End(xlUp).Row Step 6
If ligne > 65531 Then Exit Sub
Rows("" & ligne & ":" & ligne & "").Font.Bold = True
Rows("" & (ligne + 4) & ":" & (ligne + 4) & "").Font.Bold = True
Next ligne
End Sub


Bonne nuit Mytå
 
J

Jean-Marie

Guest
Bonjour,

Monique, dans ta solution, il est préférable de selectionner toute la feuille et d'appliquer le format conditionnel, ce qui éviterait de faire un copier/coller du format.

@+Jean-Marie
 

Discussions similaires

Réponses
5
Affichages
538
Réponses
0
Affichages
390

Statistiques des forums

Discussions
314 017
Messages
2 104 578
Membres
109 081
dernier inscrit
Vio21