OVH Cloud OVH Cloud

Mise en forme de certaines colonnes

14 réponses
Avatar
Sébastien
Bonjour,

J'ai un fichier de compta du type :

TOTAL BlaBla BlaBla BlaBla TOTAL BlaBla BlaBla
BlaBla 44 14 30 55 27 28 1
BlaBla 38 12 26 62 29 33 0
BlaBla 38 12 26 62 29 33 0

Je dois mettre en gras les colonnes "total".
J'ai cette macro :

Sub atotale()

Columns(Rows("1:1").Find(What:=3D"Total", LookAt:=3DxlPart).Column).Select
Selection.Font.Bold =3D True
Cells.FindNext(After:=3DActiveCell).Activate

End Sub

Elle ne met en gras que la premi=E8re colonne. Je n'arrive pas =E0 faire
une boucle sur plusieurs colonnes. Et, deuxi=E8me probl=E8me, =E7a bug
quand il n'y a pas de colonne "total".

Que faire ? Que faire ? That is always the same question !!

Merci par avance pour vos =E9clairages !

Seb

10 réponses

1 2
Avatar
patrick.lyon
bonjour
as tu essayé avec une mise en forme conditionnelle ??

Sébastien a présenté l'énoncé suivant :
Bonjour,

J'ai un fichier de compta du type :

TOTAL BlaBla BlaBla BlaBla TOTAL BlaBla BlaBla
BlaBla 44 14 30 55 27 28 1
BlaBla 38 12 26 62 29 33 0
BlaBla 38 12 26 62 29 33 0

Je dois mettre en gras les colonnes "total".
J'ai cette macro :

Sub atotale()

Columns(Rows("1:1").Find(What:="Total", LookAt:=xlPart).Column).Select
Selection.Font.Bold = True
Cells.FindNext(After:¬tiveCell).Activate

End Sub

Elle ne met en gras que la première colonne. Je n'arrive pas à faire
une boucle sur plusieurs colonnes. Et, deuxième problème, ça bug
quand il n'y a pas de colonne "total".

Que faire ? Que faire ? That is always the same question !!

Merci par avance pour vos éclairages !

Seb


Avatar
Yvan
Salut Sébastien.

Je crois que c'est ton Select qui ne va pas.

Essaie plutôt celà:

Public Sub Atotale()
Dim c As Range, wks As Worksheet
Set wks = Sheets("Feuil1")
For Each c In Range("1:1")
If UCase(c) = "TOTAL" Then wks.Columns(c.Column).Font.Bold = True
Next c
End Sub

Il y a certainement mieux, mais bon! Si çà fonctionne, c'est l'essentiel.


@+

Yvan

"Sébastien" a écrit dans le message de news:

Bonjour,

J'ai un fichier de compta du type :

TOTAL BlaBla BlaBla BlaBla TOTAL BlaBla BlaBla
BlaBla 44 14 30 55 27 28 1
BlaBla 38 12 26 62 29 33 0
BlaBla 38 12 26 62 29 33 0

Je dois mettre en gras les colonnes "total".
J'ai cette macro :

Sub atotale()

Columns(Rows("1:1").Find(What:="Total", LookAt:=xlPart).Column).Select
Selection.Font.Bold = True
Cells.FindNext(After:¬tiveCell).Activate

End Sub

Elle ne met en gras que la première colonne. Je n'arrive pas à faire
une boucle sur plusieurs colonnes. Et, deuxième problème, ça bug
quand il n'y a pas de colonne "total".

Que faire ? Que faire ? That is always the same question !!

Merci par avance pour vos éclairages !

Seb
Avatar
Sébastien
Merci Yvan,

On y est presque. J'ai simplifié :

Dim c As Range
For Each c In Range("1:1")
If (c) = "TOTAL" Then Columns(c.Column).Font.Bold = True
Next c


car les colonnes ne contiennent pas forcément "Total" en majuscules
et, difficulté supplémentaire, les cellulles peuvent contenir "Total
blabla". C'est pour cela que j'étais parti sur l'idée d'une recherche
Find(What:­="Total", LookAt:=xlPart).

Tu sais comment faire en sorte de mettre la condition si la cellule
contient le texte "total" et non pas si la cellule entière est égale
au texte "total" ?

Merci.
Avatar
Yvan
Re-Bonjour Sébastien

if (Instr(1,c,"total",1)>0 then blablabla

@+

Yvan


"Sébastien" a écrit dans le message de news:

Merci Yvan,

On y est presque. J'ai simplifié :

Dim c As Range
For Each c In Range("1:1")
If (c) = "TOTAL" Then Columns(c.Column).Font.Bold = True
Next c


car les colonnes ne contiennent pas forcément "Total" en majuscules
et, difficulté supplémentaire, les cellulles peuvent contenir "Total
blabla". C'est pour cela que j'étais parti sur l'idée d'une recherche
Find(What:­="Total", LookAt:=xlPart).

Tu sais comment faire en sorte de mettre la condition si la cellule
contient le texte "total" et non pas si la cellule entière est égale
au texte "total" ?

Merci.
Avatar
AV
Tu sais comment faire en sorte de mettre la condition si la cellule
contient le texte "total" et non pas si la cellule entière est égale
au texte "total" ?


Sélection de la ligne 1 > Format > Mise en Forme Conditionnelle > la formule est
:
=EXACT(F1;"Total")
police > Gras > Ok


AV

Avatar
Sébastien
Merci Yvan pour ton aide précieuse !
A+
Avatar
AV
Merci ... pour ton aide précieuse !


Mais je vous en prie.. il n'y a pas de quoi !
Fallait pas... c'est trop... et coetera...

Pffff... Faire une bouclette en lieu et place d'une MEFC !
Quand je vous dit que....

AV

Avatar
Sébastien
Ah oui ! Ben, t'es un bon toi ! T'es trop fort... ou t'es surtout trop
déçu que je n'ai pas choisi ta solution :)
En l'occurence, j'ai 3000 feuilles xls à formater. Je vais pas me les
taper une à une pour faire une MEFC.

Quand on sait pas, on parle pas. :)

++
Avatar
Patrick BASTARD
Bonjour, *Sébastien*

Ah oui ! Ben, t'es un bon toi ! T'es trop fort...


C'est l'opinion de beaucoup sur ce forum, y compris de pointures dont je te
souhaite, un jour, d'approcher l'expertise.

ou t'es surtout trop déçu que je n'ai pas choisi ta solution :)


Pourquoi pas vexé, déprimé, voire même au bord du suicide ?

En l'occurence, j'ai 3000 feuilles xls à formater. Je vais pas me les
taper une à une pour faire une MEFC.


Et c'était signalé où ? tous les intervenants ici n'on pas forcément une
boule de cristal sous la main.

Quand on sait pas, on parle pas. :)


A appliquer.


--
Pas du tout amicordialement,
P. Bastard, un peu vénère, sur le coup.

Avatar
Jacquouille
Monsieur le Président
Je ne tolère pas que vous soulageassiez vos déboires de forme conditionnelle
en insultant la Police.
police > Gras > Ok
C'est pas passqu'on ne fout rien qu'on est gros.-))))))


--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
Jacquouille.

"AV" a écrit dans le message de news:

Tu sais comment faire en sorte de mettre la condition si la cellule
contient le texte "total" et non pas si la cellule entière est égale
au texte "total" ?


Sélection de la ligne 1 > Format > Mise en Forme Conditionnelle > la
formule est
:
=EXACT(F1;"Total")
police > Gras > Ok


AV






1 2