MFC par rapport au chiffre contenu dans la cellule d'une colonne [Résolu/Fermé]

Signaler
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
-
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
-
Bonjour,

J'essaie d'appliquer une MFC dès lors que les chiffres 1 à 6 se trouvent dans la colonne B de mon tableau. Pour cela, j'ai essayé d'utiliser la fonction .find mais je n'arrive pas à la faire fonctionner... Voici mon code :
Sub MFC_alerts()
' MFC sur les alertes
Dim i As Integer
derniereligne = Range("B50000").End(xlUp).Row
For i = 3 To derniereligne
' Alerte 1
If Range("B" & i).Find("1", Lookat:=xlPart) Then
Range("i26,i27").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
' Alerte 2
ElseIf Range("i2").Find("2", Lookat:=xlPart) Then
Range("i30").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
'Alerte 3
ElseIf Range("i2").Find("3", Lookat:=xlPart) Then
Range("i19,i22").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
'Alerte 4
ElseIf Range("i2").Find("4", Lookat:=xlPart) Then
Range("i37").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
'Alerte 5
ElseIf Range("i2").Find("5", Lookat:=xlPart) Then
Range("i33").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
'Alerte 6
ElseIf Range("i2").Find("6", Lookat:=xlPart) Then
Range("i41").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 192
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Else
End If
Next i
End Sub

Des idées ?
Merci par avance pour votre aide :)

3 réponses

Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Bonjour,

Pourquoi du VBA pour ces "MFC" ??
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Non en fait la valeur recherchée se trouve en B et i est mon numéro de ligne (ma variable). Et non la MFC ne se fait pas sur les mêmes colonnes suivant les alertes du coup on peut pas mettre de boucle en place.
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Re,

Et non la MFC ne se fait pas sur les mêmes colonnes

Plait-il ??
Vous pouvez reexpliquer ce que vous voulez ??
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Voici les six tests avec les conditions et les MFC associées :
- Si ("B" & i) contient 1 : changer la couleur de i26 et i27 (donc la colonne Z et AA, ligne i)
- Si ("B" & i) contient 2 : changer la couleur de i30 (colonne AD, ligne i)
- Si ("B" & i) contient 3 : changer la couleur de i19 et i22 (colonne S et V, ligne i)
- Si ("B" & i) contient 4 : changer la couleur de i38 (colonne AL, ligne i)
- Si ("B" & i) contient 5 : changer la couleur de i35 (Colonne AI, ligne i)
- Si ("B" & i) contient 6 : changer la couleur de i43 (colonne AQ, ligne i)
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Re,

- Si ("B" & i) contient 2 : changer la couleur de i30 (colonne AD, ligne i)

Que vient faire (colonne AD, ligne i) pour cellule I30 ???????????????????????????
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

ah ah c'est parce que 30 c'est le numero de colonne donc AD et i le numéro de ligne qui correspond à ma variable.
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020
3 035
bonjour
F89 :excuse l'incruste

comme il existe un coce pour enlever ces vraies-fausses MFC
Option Explicit
'--------------------------------------------
Sub vraie_fausse_mfc()
Dim Derlig As Integer, Cptr As Integer, D_mfc As Object, T_colB, Ref As Byte


Application ScreenUpdating = False
Derlig = Columns("B").Find(what:="*", searchdirection:=xlPrevious).Row
Set D_mfc = CreateObject("scripting.dictionnary")
For Cptr = 1 To 6
D_mfc.Add Cptr, ""
Next
T_colB = Application.Transpose(Range("B1:B" & Derlig))

For Cptr = 1 To Derlig
Ref = T_cob(Cptr)
If D_mfc.exists(Ref) Then
Select Case Ref
Case 1
With Range(Cells(26, Cptr), Cells(27, Cptr))
.Interior.Color = 192
.Font.Color = xlThemeColorDark1
End With
Case 2
'.......etc
End Select
End Sub


nota
xlThemeColorDark1 correspond à la couleur par défaut d'excel
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020
3 035 >
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020

Et pourquoi ca flotte ?
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020

Re,

J'aurai pu ecrire: Ca roule ??
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020
3 035 >
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

et si tu lisais ce que j'avais marqué ?

J'AI FAIS LE CODE SANS TENIR COMPTE DE L4ENLEVEMENT DES MFC PUISQUE TU ECRIS QUE TU L'A FAIT

Inscrite sur ma blacklist --->abandon de toute aide
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
>
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020

Je suis dsl Michel je n'ai pas du tout compris ce que tu avais fait.
" comme il existe un coce pour enlever ces vraies-fausses MFC"
j'ai pensé que le code que tu m'avais montré était pour enlever justement les MFC...
Je ne comprend pas suffisemment VBA pour comprendre ce que tu avais fait...
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016

Top ça marche trop bien :)
Merci beaucoup !
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Re michel_m,

Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020
3 035
bof
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
16214
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
24 septembre 2020

Bonjour,

En français : Bande originale de film, OkAYYYYYYY !!!!!!