Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

2 macros : coment faire ?

20 réponses
Avatar
GREENHORN
Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce".
C'est toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour
s'y plonger.

> Il parle de ces liens que je lui avais transmis l'autre jour :
> http://ericrenaud.fr/droitedde.htm
> http://boisgontierjacques.free.fr/
> http://boisgontierjacques.free.fr/

Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne
qui sont remplies (où une couleur est appliquée à l'arrière-plan [peu
importe la couleur]) c'est-à-dire qui n'ont pas comme caractéristique
"aucun remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

--
Cordialement
GREENHORN

10 réponses

1 2
Avatar
Péhemme
Bonjour GreenHorn,

Pour la 1ère macro :
Sub GrasSiColorIndex()
Dim Rg As Range, Cel As Range
Dim R As Long
R = Range("Feuil1!A65536").End(xlUp).Row
Set Rg = Range("Feuil1!A2:A" & R)

For Each Cel In Rg
If Cel.Interior.ColorIndex <> xlNone Then
Cel.Font.Bold = True
End If
Next Cel

Set Rg = Nothing
End Sub
Michel


"GREENHORN" a écrit dans le message de
news:irivgh$97i$
Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce". C'est
toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour s'y
plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne qui
sont remplies (où une couleur est appliquée à l'arrière-plan [peu importe
la couleur]) c'est-à-dire qui n'ont pas comme caractéristique "aucun
remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

--
Cordialement
GREENHORN


Avatar
MichD
Bonjour,

Voici les 2 macros. Adapte le nom de la feuille et la plage de cellules à traiter.


Pour les cellules ayant un fond en couleur, mettre les caractères en gras
'-------------------------------------
Sub test()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End With
End Sub
'-------------------------------------

'enlève la couleur de fond, si le premier caractère est un chiffre
'----------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If IsNumeric(Left(C, 1)) Then
C.Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
'-------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion : irivgh$97i$

Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce".
C'est toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour
s'y plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne
qui sont remplies (où une couleur est appliquée à l'arrière-plan [peu
importe la couleur]) c'est-à-dire qui n'ont pas comme caractéristique
"aucun remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

--
Cordialement
GREENHORN
Avatar
Péhemme
Re-Bonjour GreenHorn,
La 2ème macro :
Je n'ai traité que le cas où la cellule est numérique.
Je laisse le soin aux gourous de traiter la partie alphanumérique de la
demande.
Sub PasColorIndexSiChiffre()
Dim Rg As Range, Cel As Range
Dim R As Long
R = Range("Feuil1!A65536").End(xlUp).Row
Set Rg = Range("Feuil1!A2:A" & R)

For Each Cel In Rg
If IsNumeric(Cel.Value) Then
Cel.Interior.ColorIndex = xlNone
End If
Next Cel

Set Rg = Nothing
End Sub

"GREENHORN" a écrit dans le message de
news:irivgh$97i$
Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce". C'est
toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour s'y
plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne qui
sont remplies (où une couleur est appliquée à l'arrière-plan [peu importe
la couleur]) c'est-à-dire qui n'ont pas comme caractéristique "aucun
remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

--
Cordialement
GREENHORN


Avatar
Péhemme
Je constate que je suis sur le bon chemin...
Dans 10 ou 15 ans, j'aurai rattrapé ton niveau de compétences.
;-)
Bien amicalement
Michel

"MichD" a écrit dans le message de
news:irj0ti$cuf$
Bonjour,

Voici les 2 macros. Adapte le nom de la feuille et la plage de cellules à
traiter.


Pour les cellules ayant un fond en couleur, mettre les caractères en gras
'-------------------------------------
Sub test()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End With
End Sub
'-------------------------------------

'enlève la couleur de fond, si le premier caractère est un chiffre
'----------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If IsNumeric(Left(C, 1)) Then
C.Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
'-------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion :
irivgh$97i$

Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce".
C'est toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour
s'y plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne
qui sont remplies (où une couleur est appliquée à l'arrière-plan [peu
importe la couleur]) c'est-à-dire qui n'ont pas comme caractéristique
"aucun remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

--
Cordialement
GREENHORN

Avatar
GREENHORN
Péhemme a pensé très fort :
Je constate que je suis sur le bon chemin...
Dans 10 ou 15 ans, j'aurai rattrapé ton niveau de compétences.
;-)
Bien amicalement
Michel

"MichD" a écrit dans le message de
news:irj0ti$cuf$
Bonjour,

Voici les 2 macros. Adapte le nom de la feuille et la plage de cellules à
traiter.


Pour les cellules ayant un fond en couleur, mettre les caractères en gras
'-------------------------------------
Sub test()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End With
End Sub
'-------------------------------------

'enlève la couleur de fond, si le premier caractère est un chiffre
'----------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If IsNumeric(Left(C, 1)) Then
C.Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
'-------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion :
irivgh$97i$

Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce".
C'est toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour
s'y plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne
qui sont remplies (où une couleur est appliquée à l'arrière-plan [peu
importe la couleur]) c'est-à-dire qui n'ont pas comme caractéristique
"aucun remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol

-- Cordialement
GREENHORN







Bonsoir Michel

Merci beaucoup pour ta réponse [et tous ses remerciements aussi]. Il me
demande comment il pourrait faire pour :

J'ai utilisé celles de michel !

La réponse à la première macro fonctionne bien. Par contre, j'aimerais
savoir comment faire pour pouvoir le faire sur plusieurs colonnes en
même temps?

La réponse deuxième macro est également bonne. Par contre, j'aimerais
savoir comment faire pour dire non plus les cellules qui commencent par
des chiffres mais celles dont le contenu commence par certaines lettres
du type "ABC....." ? Et aussi l'inverse, c'est-à-dire celles qui ne
débutent pas comme ça ?

Merci d'avance pour ton aide.

PS : merci aussi à "l'autre" Michel qui m'a répondu ! ;-)

--
Cordialement
GREENHORN
Avatar
Péhemme
;-)))
De quel Michel parles-tu ?
Moi c'est Michel... je n'y connais rien !
"L'autre" c'est Denis... lui... il sait tout !
;-)))

La réponse à la première macro fonctionne bien. Par contre, j'aimerais
savoir comment faire pour pouvoir le faire sur plusieurs colonnes en même
temps


Ben... Tu ajustes le range sur les colonnes qui t'intéressent. Donne les
colonnes concernées et on peut te modifier la macro.

La réponse deuxième macro est également bonne. Par contre, j'aimerais
savoir comment faire pour dire non plus les cellules qui commencent par
des chiffres mais celles dont le contenu commence par certaines lettres du
type "ABC....." ? Et aussi l'inverse, c'est-à-dire celles qui ne débutent
pas comme ça ?


Quelle lettre ou combien de lettres ?
Quelle est précisément la structure de l'information à tester ?
Je savais bien qu'on viendrait à l'alphanumérique... que je laissais
justement à Denis ("l'autre Michel) ;-)
Mais l'inverse de IsNumeric, c'est Not IsNumeric (enfin, je crois)

Michel
Avatar
GREENHORN
Péhemme a exposé le 25/05/2011 :
;-)))
De quel Michel parles-tu ?
Moi c'est Michel... je n'y connais rien !
"L'autre" c'est Denis... lui... il sait tout !
;-)))

La réponse à la première macro fonctionne bien. Par contre, j'aimerais
savoir comment faire pour pouvoir le faire sur plusieurs colonnes en même
temps


Ben... Tu ajustes le range sur les colonnes qui t'intéressent. Donne les
colonnes concernées et on peut te modifier la macro.

La réponse deuxième macro est également bonne. Par contre, j'aimerais
savoir comment faire pour dire non plus les cellules qui commencent par des
chiffres mais celles dont le contenu commence par certaines lettres du type
"ABC....." ? Et aussi l'inverse, c'est-à-dire celles qui ne débutent pas
comme ça ?


Quelle lettre ou combien de lettres ?
Quelle est précisément la structure de l'information à tester ?
Je savais bien qu'on viendrait à l'alphanumérique... que je laissais
justement à Denis ("l'autre Michel) ;-)
Mais l'inverse de IsNumeric, c'est Not IsNumeric (enfin, je crois)

Michel




Re

Je me "gourre" ! MichD c'est Denis... que j'ai pris pour Mich[el].
Toutes mes excuses... à vous deux !

j'ai lui transmis ce que tu dis en lui demandant de préciser ce qu'il
veut ou de dire s'il trouve la solution avec tes dernières infos.

--
Cordialement
GREENHORN
Avatar
GREENHORN
MichD avait écrit le 25/05/2011 :
Bonjour,

Voici les 2 macros. Adapte le nom de la feuille et la plage de cellules à
traiter.


Pour les cellules ayant un fond en couleur, mettre les caractères en gras
'-------------------------------------
Sub test()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End With
End Sub
'-------------------------------------

'enlève la couleur de fond, si le premier caractère est un chiffre
'----------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
If IsNumeric(Left(C, 1)) Then
C.Interior.ColorIndex = xlNone
End If
Next
End With
End Sub
'-------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion :
irivgh$97i$

Bonjour TLM

Je reviens vers vous pour - encore ! ;-) un "petit coup de pouce".
C'est toujours pour mon petit-fils qui me dit :

Pour Excel, ça avait l'air intéressant mais ça demande du temps pour
s'y plonger.

Il parle de ces liens que je lui avais transmis l'autre jour :
http://ericrenaud.fr/droitedde.htm
http://boisgontierjacques.free.fr/
http://boisgontierjacques.free.fr/



Pourrais-tu, sur le forum Excel, demander :

- une macro qui permette de graisser toutes les cellules d'une colonne
qui sont remplies (où une couleur est appliquée à l'arrière-plan [peu
importe la couleur]) c'est-à-dire qui n'ont pas comme caractéristique
"aucun remplissage"

- une macro pour appliquer la caractéristique "aucun remplissage" aux
cellules d'une colonne dont le contenu commence par un chiffre.

Je vous remercie d'avance pour l'aide que vous "nous" apportez.

PS : "nous" ! Pour être tout à fait honnête, je n'ai pas compris
grand-chose à sa demande ! lol





Bonsoir Denis

Je me suis trompé en t'appelant Michel, toutes mes excuses. Voir la
réponse que j'ai faite à Péhemme.

Et, au cas particulier si cela peut servir, ce que je disais :

Bonsoir Michel [en fait Denis]

Merci beaucoup pour ta réponse [et tous ses remerciements aussi]. Il me
demande comment il pourrait faire pour :

J'ai utilisé celles de michel !

La réponse à la première macro fonctionne bien. Par contre, j'aimerais
savoir comment faire pour pouvoir le faire sur plusieurs colonnes en
même temps?

La réponse deuxième macro est également bonne. Par contre, j'aimerais
savoir comment faire pour dire non plus les cellules qui commencent par
des chiffres mais celles dont le contenu commence par certaines lettres
du type "ABC....." ? Et aussi l'inverse, c'est-à-dire celles qui ne
débutent pas comme ça ?

Merci d'avance pour ton aide.

PS : merci aussi à "l'autre" Michel qui m'a répondu !

--
Cordialement
GREENHORN
Avatar
MichD
Dans la procédure, tu dois adapter le nom de l'onglet de la feuille "Feuil1"
pour cette dudit classeur. Il en va de même pour la plage de cellules.

2 possibilités à ta question :

A ) si le traitement des cellules débutant par A, B, C est le même
Tu peux choisir les lettres que tu veux, en ajouter si le besoin existe.
Cependant les lettres doivent être en majuscule dans cette ligne de code :
Case Is = "A", "B", "C"
'--------------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
Select Case UCase(Left(C, 1))
Case Is = "A", "B", "C"
C.Interior.ColorIndex = xlNone 'Le code que tu désires
End Select
Next
End With
End Sub
'--------------------------------------


Si le traitement est différent selon que la première lettre est A, B ou C
Reste à définir le code à exécuter selon le cas...
'--------------------------------------
Sub test1()
Dim C As Range
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
Select Case UCase(Left(C, 1))
Case Is = "A", "B", "C"
'Code pour action A
Case Is = "B"
'Code pour action B
Case Is = "C"
'Code pour action C
End Select
Next
End With
End Sub
'--------------------------------------



MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion : irj9j3$4jo$

Péhemme a exposé le 25/05/2011 :
;-)))
De quel Michel parles-tu ?
Moi c'est Michel... je n'y connais rien !
"L'autre" c'est Denis... lui... il sait tout !
;-)))

La réponse à la première macro fonctionne bien. Par contre, j'aimerais
savoir comment faire pour pouvoir le faire sur plusieurs colonnes en même
temps


Ben... Tu ajustes le range sur les colonnes qui t'intéressent. Donne les
colonnes concernées et on peut te modifier la macro.

La réponse deuxième macro est également bonne. Par contre, j'aimerais
savoir comment faire pour dire non plus les cellules qui commencent par des
chiffres mais celles dont le contenu commence par certaines lettres du type
"ABC....." ? Et aussi l'inverse, c'est-à-dire celles qui ne débutent pas
comme ça ?


Quelle lettre ou combien de lettres ?
Quelle est précisément la structure de l'information à tester ?
Je savais bien qu'on viendrait à l'alphanumérique... que je laissais
justement à Denis ("l'autre Michel) ;-)
Mais l'inverse de IsNumeric, c'est Not IsNumeric (enfin, je crois)

Michel




Re

Je me "gourre" ! MichD c'est Denis... que j'ai pris pour Mich[el].
Toutes mes excuses... à vous deux !

j'ai lui transmis ce que tu dis en lui demandant de préciser ce qu'il
veut ou de dire s'il trouve la solution avec tes dernières infos.

--
Cordialement
GREENHORN
Avatar
LSteph
:o))


"Péhemme" a écrit dans le message de
news:4ddd266b$0$30767$
;-)))
De quel Michel parles-tu ?
Moi c'est Michel... je n'y connais rien !
"L'autre" c'est Denis... lui... il sait tout !
;-)))
1 2