Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro MFC à plusieurs conditions

  • Initiateur de la discussion Initiateur de la discussion Usine à gaz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous,

Encore besoin d'aide !!!

Avec votre aide, j'ai pu adapter ce code qui fonctionne très bien :

Code:
Sub Lrouges()
Application.ScreenUpdating = False
Sheets("SM (2)").Select
ActiveSheet.Unprotect
Dim i As Integer
For i = 4 To 150
If Cells(i, 351) > 0.5 Then 'n°Col
Range("LZ" & i & ":MM" & i).Font.Color = -16776961
Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If
Next i
End Sub
Code:

mais j'ai besoin qu'elle s'exécute selon trois conditions :

>0.5
>1
>2

Nul en VBA, j'ai essayé sans succès plusieurs variantes mais je n'y arrive pas.

Auriez-vous la solution ou pourriez-vous me guider ?
D'avance merci,
Amicalement,
Lionel,
 
Re : Macro MFC à plusieurs conditions

Bonjour à tous,

Je ne comprends pas : > 2 est supérieur à >1 et >0.5...

Mais :

VB:
Option Explicit


Sub Lrouges()
Application.ScreenUpdating = False
Sheets("SM (2)").Select
ActiveSheet.Unprotect
Dim i As Integer
For i = 4 To 150
If Cells(i, 351) > 0.5 Or Cells(i, 351) > 1 Or Cells(i, 351) > 2 Then 'n°Col
Range("LZ" & i & ":MM" & i).Font.Color = -16776961
Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If
Next i
End Sub

A+ à tous
 
Re : Macro MFC à plusieurs conditions

Bonjour JCGL,
Bonjour à tous,

Encore merci de t'intéresser à mes trucs 🙂.

Plus clairement j'espère, les trois conditions seraient les suivantes :


1 - If Cells(i, 351) > 0.5 And Cells(i, 351) < 1.1 Then 'n°Col


2 - If Cells(i, 351) > 1 And Cells(i, 351) < 2.1 Then 'n°Col


3 - If Cells(i, 351) > 2.1 And Then 'n°Col



dans la même macro.

Amicalement,
Lionel,
 
Re : Macro MFC à plusieurs conditions

Re à toi et à tous,

c'est la même couleur et si non c'est la couleur noir


1 - If Cells(i, 351) > 0.5 And Cells(i, 351) < 1.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir

2 - If Cells(i, 351) > 1 And Cells(i, 351) < 2.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir

3 - If Cells(i, 351) > 2.1 And Then 'n°Col
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir

Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If

J'espère être plus clair LOL,
Amicalement,
Lionel,
 
Re : Macro MFC à plusieurs conditions

Bonjour à tous,

C'est moi qui yoyote ou tu es dans ton trip et tu perds la boule... 😱

Si MM4 est supérieur à 0.5 et inférieur à 1.1
Si MM4 est supérieur à 1 et inférieur à 2.1
Si MM4 est supérieur à 2.1

Autant mettre si MM4 est supérieur à 0.5

A+ à tous
 
Re : Macro MFC à plusieurs conditions

Re JCGL et à tous,

Non, c'est pas toi.... c'est moi... couché trop tard sans doute à passer mon temps sur mes classeurs (je voudrais apprendre et faire des trucs bien).

Je vais tenter une autre façon de m'expliquer.

1 - If Cells(i, 351) > 0.5 And Cells(i, 351) < 1.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir (que si >0.5 et <1.1)

2 - If Cells(i, 351) > 1 And Cells(i, 351) < 2.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir (même si supérieur à 0.5)

3 - If Cells(i, 351) > 2.1 And Then 'n°Col
Range("LZ" & i & ":MM" & i).Font.Color = -16776961

sinon Noir (même si supérieur à 0.5)

Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If

Si je ne suis pas arrivé à exprimer ce que je souhaite, je vais persister LOL
Amicalement,
Lionel,
 
Re : Macro MFC à plusieurs conditions

Bonjour à tous,

Peux-tu essayer ceci (on commence par la condition la plus large et on réduit au deuxième tour et au troisième tour) :

VB:
Option Explicit


Sub Lrouges()
Application.ScreenUpdating = False
Sheets("SM (2)").Select
ActiveSheet.Unprotect
Dim i As Integer
For i = 4 To 150


If Cells(i, 351) > 2.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961
Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If

If Cells(i, 351) > 1 And Cells(i, 351) < 2.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961
Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If


If Cells(i, 351) > 0.5 And Cells(i, 351) < 1.1 Then
Range("LZ" & i & ":MM" & i).Font.Color = -16776961
Else
Range("LZ" & i & ":MM" & i).Font.ColorIndex = xlAutomatic
End If


Next
End Sub

A+ à tous
 
Re : Macro MFC à plusieurs conditions

Re JCGL et à tous,

Effectivement, c'est bien en commençant par la condition la plus large qu'il faut faire et en plus B..... je le sais car c'est ce que je fais habituellement.

Mais aujourd'hui je suis dans la brume.

Je teste ça et je te tiens informé,
Amicalement,
Lionel,
 
Re : Macro MFC à plusieurs conditions

Bonjour JCGL et à tous,

Après un peu de repos et recul pris, je m'aperçois qu'effectivement ma question n'a pas vraiment de sens.

Le problème qui m'est posé est le suivant :

Afficher un taux de rebuts par client, c'est à dire par feuille ouverte dans mon classeur.

Donc, en fait, il suffit de recopier la macro dans chaque feuille et de changer le >0.5.

Dsl pour la perte de temps.

Merci à toi,
Bonne journée,
Amicalement,
Lionel,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
910
Réponses
9
Affichages
884
Réponses
7
Affichages
813
L
Réponses
9
Affichages
1 K
Réponses
2
Affichages
980
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…