Microsoft 365 Plusieurs conditions tenant compte d'un Plafond (VBA)

  • Initiateur de la discussion Initiateur de la discussion pat66
  • 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 !

pat66

XLDnaute Impliqué
Bonjour le forum,

voilà j'ai du mal à rédiger cette macro qui contient une suite de conditions dépendant d'un plafond mais avec 2 exceptions
La macro fonctionne bien, mais malheureusement je n'arrive pas à paramétrer les 2 exceptions

Pour être plus explicite, je joints un fichier explicatif

Merci pour le coup de main

cdt
 

Pièces jointes

Solution
Bonjour.
Si C12>2, le cycle doit s'étendre jusqu'à sa valeur ou doit se limiter quand même à 2 ?
VB:
Sub Ellipse1_Cliquer()
   Dim N As Integer
   N = (Range("C14").Value + 1) Mod (Range("C12").Value + 1)
   Range("C14") = N
   On Error Resume Next
   ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.RGB = Array(RGB(0, 32, 96), RGB(51, 51, 200), RGB(0, 153, 153))(N)
   End Sub
S'il doit quand même se limiter jusqu'à 2 :
VB:
Sub Ellipse1_Cliquer()
   Dim N As Integer
   N = Range("C12").Value + 1: If N > 3 Then N = 3
   N = (Range("C14").Value + 1) Mod N
   Range("C14") = N
   ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.RGB = Array(RGB(0, 32, 96), RGB(51, 51, 200), RGB(0, 153, 153))(N)
   End Sub
Faudrait arreter de multiplier les posts pour la meme chose !
 
re,

je ne voulais pas vous déranger car n'ayant pas répondu à mon dernier post, j'ai pensé que vous étiez occupé ou que mon problème était mal explicité, donc j'ai simplement reformuler ma demande sous une autre forme en écoutant vos conseils car comme vous me l'avez dit, ajouter une validation n'a aucun intérêt, tout simplement, vous comprenez mieux ? car mon problème n'est toujours pas résolu
 
Bonjour le forum
Bonjour le fil
salut wDog66,

merci pour ton conseil et ta bienveillance tu as certainement raison, mais j'avais juste besoin que dans une cellule chaque clic saisisse ,1,2 ou 0 en tenant compte d'une autre cellule. Le problème c'est que j'ai mal expliqué mon cas, je vais devoir trouver une autre solution, oui peut être avec un tableau avec RechercheX, je vais y réfléchir.......

merci et belle journée
 
Bonjour.
Si C12>2, le cycle doit s'étendre jusqu'à sa valeur ou doit se limiter quand même à 2 ?
VB:
Sub Ellipse1_Cliquer()
   Dim N As Integer
   N = (Range("C14").Value + 1) Mod (Range("C12").Value + 1)
   Range("C14") = N
   On Error Resume Next
   ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.RGB = Array(RGB(0, 32, 96), RGB(51, 51, 200), RGB(0, 153, 153))(N)
   End Sub
S'il doit quand même se limiter jusqu'à 2 :
VB:
Sub Ellipse1_Cliquer()
   Dim N As Integer
   N = Range("C12").Value + 1: If N > 3 Then N = 3
   N = (Range("C14").Value + 1) Mod N
   Range("C14") = N
   ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.RGB = Array(RGB(0, 32, 96), RGB(51, 51, 200), RGB(0, 153, 153))(N)
   End Sub
 
Bonjour Dranreb,

vous avez encore amélioré votre solution car c'est vrai qu'il peut arriver que C12 soit > 2, mais il faut qu'il reste plafonné à 2 , alors que dire sinon que votre expertise est égale à votre générosité

un grand merci pour votre aide

cdt
 
- 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
4
Affichages
167
Réponses
3
Affichages
497
Réponses
1
Affichages
337
Retour