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
GREENHORN
MichD a pensé très fort :
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.
....................................




Bonjour Denis

Tout d'abord un grand merci de nous aider. Je suis un peu confus de
revenir à la charge. Voici la demande qu'il me fait parvenir :

*2ème* macro :

Sub test2()
Dim C As Range
With Worksheets("feuil1")
For Each C In .Range("A:A")
Select Case UCase(Left(C, 1)) ' Il faut que la formule s'applique aux
cellules dont le contenu ne débute pas par le préfixe "abc". En effet,
un petit pourcentage de cellules [*qui* ?] débute ont un contenu comme
celui-ci "abc00023", "abc00024" et il faut que celles-ci gardent un
arrière-plan coloré.
Case Is = "abc"
C.Interior.ColorIndex = xlNone
End Select

Next
End With
End Sub
--------------------------

*1ère* macro:

Sub test()
Dim C As Range
With Worksheets("MOTIVE - SAPBW70_DOWNLOAD")
For Each C In .Range("A:A") AND In Range("B:B") ' Est-ce ce [ou
*Qu'est-ce que*... ?] que je dois inscrire pour que ça s'applique aussi
à la colonne B ??
If C.Interior.ColorIndex <> xlNone Then
C.Font..Bold = True
End If
Next
End With
End Sub

------------------------

J'espère que sa demande est claire car pour moi c'est de l'hébreu. Je
ne fais que copier/coller sauf les "entre-parenthèses" pour la
compréhension, me semble-t-il ! lol

Merci d'avance !

--
Cordialement
GREENHORN
Avatar
Péhemme
Bonjour GreenHorn,

Pour ta 1ère macro.
que je dois inscrire pour que ça s'applique aussi à la colonne B ??


Dans la proposition de Denis :
tu remplaces :
For Each C In .Range("A1:A10")
par :
For Each C In .Range("A1:B10")

Bien cordialement
Michel
Avatar
MichD
Que la macro ne s'adresse pas aux cellules débutant par abc
'----------------------------------
Sub test2()
Dim C As Range, DerLig As Long, X As String
With Worksheets("feuil1")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:A" & DerLig)
Select Case UCase(Left(C, 1))
Case Is = "abc"
Case Else
C.Interior.ColorIndex = xlNone
End Select
Next
End If
End With
End Sub
'----------------------------------

Que je dois inscrire pour que ça s'applique aussi
à la colonne B ??
'------------------------------------
Sub test()
Dim C As Range, DerLig As Long, X As String
With Worksheets("MOTIVE - SAPBW70_DOWNLOAD")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:B" & DerLig)
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End If
End With
End Sub
'------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion : irl3m7$eth$

MichD a pensé très fort :
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.
....................................




Bonjour Denis

Tout d'abord un grand merci de nous aider. Je suis un peu confus de
revenir à la charge. Voici la demande qu'il me fait parvenir :

*2ème* macro :

Sub test2()
Dim C As Range
With Worksheets("feuil1")
For Each C In .Range("A:A")
Select Case UCase(Left(C, 1)) ' Il faut que la formule s'applique aux
cellules dont le contenu ne débute pas par le préfixe "abc". En effet,
un petit pourcentage de cellules [*qui* ?] débute ont un contenu comme
celui-ci "abc00023", "abc00024" et il faut que celles-ci gardent un
arrière-plan coloré.
Case Is = "abc"
C.Interior.ColorIndex = xlNone
End Select

Next
End With
End Sub
--------------------------

*1ère* macro:

Sub test()
Dim C As Range
With Worksheets("MOTIVE - SAPBW70_DOWNLOAD")
For Each C In .Range("A:A") AND In Range("B:B") ' Est-ce ce [ou
*Qu'est-ce que*... ?] que je dois inscrire pour que ça s'applique aussi
à la colonne B ??
If C.Interior.ColorIndex <> xlNone Then
C.Font..Bold = True
End If
Next
End With
End Sub

------------------------

J'espère que sa demande est claire car pour moi c'est de l'hébreu. Je
ne fais que copier/coller sauf les "entre-parenthèses" pour la
compréhension, me semble-t-il ! lol

Merci d'avance !

--
Cordialement
GREENHORN
Avatar
GREENHORN
MichD vient de nous annoncer :
Que la macro ne s'adresse pas aux cellules débutant par abc
'----------------------------------
Sub test2()
Dim C As Range, DerLig As Long, X As String
With Worksheets("feuil1")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:A" & DerLig)
Select Case UCase(Left(C, 1))
Case Is = "abc"
Case Else
C.Interior.ColorIndex = xlNone
End Select
Next
End If
End With
End Sub
'----------------------------------

Que je dois inscrire pour que ça s'applique aussi
à la colonne B ??
'------------------------------------
Sub test()
Dim C As Range, DerLig As Long, X As String
With Worksheets("MOTIVE - SAPBW70_DOWNLOAD")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:B" & DerLig)
If C.Interior.ColorIndex <> xlNone Then
C.Font.Bold = True
End If
Next
End If
End With
End Sub
'------------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion :
irl3m7$eth$

MichD a pensé très fort :
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.
....................................




Bonjour Denis

Tout d'abord un grand merci de nous aider. Je suis un peu confus de
revenir à la charge. Voici la demande qu'il me fait parvenir :

*2ème* macro :

Sub test2()
Dim C As Range
With Worksheets("feuil1")
For Each C In .Range("A:A")
Select Case UCase(Left(C, 1)) ' Il faut que la formule s'applique aux
cellules dont le contenu ne débute pas par le préfixe "abc". En effet,
un petit pourcentage de cellules [*qui* ?] débute ont un contenu comme
celui-ci "abc00023", "abc00024" et il faut que celles-ci gardent un
arrière-plan coloré.
Case Is = "abc"
C.Interior.ColorIndex = xlNone
End Select

Next
End With
End Sub
--------------------------

*1ère* macro:

Sub test()
Dim C As Range
With Worksheets("MOTIVE - SAPBW70_DOWNLOAD")
For Each C In .Range("A:A") AND In Range("B:B") ' Est-ce ce [ou
*Qu'est-ce que*... ?] que je dois inscrire pour que ça s'applique aussi
à la colonne B ??
If C.Interior.ColorIndex <> xlNone Then
C.Font..Bold = True
End If
Next
End With
End Sub

------------------------

J'espère que sa demande est claire car pour moi c'est de l'hébreu. Je
ne fais que copier/coller sauf les "entre-parenthèses" pour la
compréhension, me semble-t-il ! lol

Merci d'avance !




Re

Il me fait part des résultats suivants :

Que la macro ne s'adresse pas aux cellules débutant par abc
'----------------------------------
Sub test2()
Dim C As Range, DerLig As Long, X As String
With Worksheets("feuil1")
X = ..UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = ..Range("A:B").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In ..Range("A1:A" & DerLig)

Select Case UCase(Left(C, 1))
Case Is = "abc"
Case Else

C.Interior.ColorIndex = xlNone
End Select
Next
End If
End With
End Sub

La macro ci-dessus fonctionne en partie. Le problème c'est qu'elle
enlève les fonds de couleur des cellules qui ne commencent par "ABC"
mais enlèvent aussi sur celles qui commencent par "ABC".

Je sais qu'on demande beaucoup ! ;-)

--
Cordialement
GREENHORN
Avatar
MichD
'------------------------------------
Sub test2()
Dim C As Range, DerLig As Long, X As String
With Worksheets("feuil1")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:A").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:A" & DerLig)
X = UCase(Left(C, 3))
Select Case UCase(Left(C, 3))
Case Is = "ABC"
Case Else
C.Interior.ColorIndex = xlNone
End Select
Next
End If
End With
End Sub
'------------------------------------


MichD
--------------------------------------------
Avatar
GREENHORN
Bonjour MichD et à TLM

Il me dit rencontrer le problème suivant dont il a fait la capture,
ci-dessous [1]. Ce sera plus facile pour toi de voir de quoi il s'agit
très exactement.

http://www.cijoint.fr/cjlink.php?file=cj201105/cijTkEsNx1.jpg

Nous en arriverons à bout !? Merci beaucoup ! ;-)

[1]] C'est curieux, sur ce groupe je ne peux pas intégrer la PJ à mon
message. J'utilise donc Cijoint.fr !

--
Cordialement
GREENHORN
Avatar
MichD
| http://www.cijoint.fr/cjlink.php?file=cj201105/cijTkEsNx1.jpg

Cette adresse est inaccessible pour moi.
Avatar
GREENHORN
Après mûre réflexion, MichD a écrit :


http://www.cijoint.fr/cjlink.php?file=cj201105/cijTkEsNx1.jpg



Cette adresse est inaccessible pour moi.




Re

Alors, celle-ci peut-être ?
http://cjoint.com/?AEBptlDsz4Z

PS : Nous en arriverons à bout !? est une "plaisanterie" de ma part,
bien sûr ! Tu auras compris que je ne doute pas de "TA" réussite ! ;-)

--
Cordialement
GREENHORN
Avatar
MichD
D'après l'image, il y a une ligne totalement vide au milieu
de la procédure et qui n'a aucune raison d'être là. J'ai fait
un copier-coller de la procédure du message précédent. On
ne peut pas insérer une ligne vide lorsque la ligne précédente
se termine par _ puisque la ligne suivante y est imbriquée.

'--------------------------------
Sub test2()
Dim C As Range, DerLig As Long, X As String
With Worksheets("feuil1")
X = .UsedRange.Address
If Not IsEmpty(.UsedRange) Then
DerLig = .Range("A:A").Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
For Each C In .Range("A1:A" & DerLig)
X = UCase(Left(C, 3))
Select Case UCase(Left(C, 3))
Case Is = "ABC"
Case Else
C.Interior.ColorIndex = xlNone
End Select
Next
End If
End With
End Sub
'--------------------------------


MichD
--------------------------------------------
"GREENHORN" a écrit dans le message de groupe de discussion : iro8oe$cuv$

Après mûre réflexion, MichD a écrit :


http://www.cijoint.fr/cjlink.php?file=cj201105/cijTkEsNx1.jpg



Cette adresse est inaccessible pour moi.




Re

Alors, celle-ci peut-être ?
http://cjoint.com/?AEBptlDsz4Z

PS : Nous en arriverons à bout !? est une "plaisanterie" de ma part,
bien sûr ! Tu auras compris que je ne doute pas de "TA" réussite ! ;-)

--
Cordialement
GREENHORN
Avatar
GREENHORN
MichD a formulé ce vendredi :
D'après l'image, il y a une ligne totalement vide au milieu
de la procédure et qui n'a aucune raison d'être là. .......................




Bonjour Mich/Denis

Super ça fonctionne !! :-) dit-il ! Et il ajoute : tous mes
remerciements [et les miens, bien sûr ! ;-) ]

Bon week-end !

--
Cordialement
GREENHORN
1 2