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
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
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
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
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
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")
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
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
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$1@speranza.aioe.org...
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
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
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
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$1@speranza.aioe.org...
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".
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
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 '------------------------------------
'------------------------------------
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
'------------------------------------
'------------------------------------ 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 '------------------------------------
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.
[1]] C'est curieux, sur ce groupe je ne peux pas intégrer la PJ à mon message. J'utilise donc Cijoint.fr !
-- Cordialement 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.
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.
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
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$
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
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$1@speranza.aioe.org...
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$