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

XL 2019 Select Case 3 conditions imbriquées avec 2 variables

  • 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,

J'ai du mal rédiger cette macro avec select Case, quelqu'un aurait-il la gentillesse de me donner un coup de main
voici les conditions :

Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("F30") <> "oxigene" then
Worksheets("Feuil2").Shapes("APC").Visible = false
Worksheets("Feuil2").Shapes("ORF").Visible = false

If ActiveSheet.Range("F30")="oxigene" and ActiveSheet.Range("F31") = "T" then
Worksheets("Feuil2").Shapes("APC").Visible = false
Worksheets("Feuil2").Shapes("ORF").Visible = true

If ActiveSheet.Range("F30")="oxigene" and ActiveSheet.Range("F31") <> "T" then
Worksheets("Feuil2").Shapes("APC").Visible = True
Worksheets("Feuil2").Shapes("ORF").Visible = false
end sub

un grand merci

pat66
 
Dans un module d'objet Worksheet, Me désigne cet objet, et c'est généralement forcément la feuille active, du moins dans une Sub Worksheet_SelectionChange. Une Worksheet_Change pourrait à la rigueur s'exécuter si sa feuille est modifiée de l’extérieur alors qu'elle n'est pas active.
 
Bonjour le forum
Bonjour patricktoulon,

Avec ta macro, je souhaiterai pouvoir aussi afficher ou masquer un Shapes sur la feuille active en plus de la feuil2, pourrais tu m'indiquer comment l'écrire, j'ai bien essayé en ajoutant à :
Private Sub Worksheet_Change(ByVal Target As Range)
With Worksheets("Feuil2")
Select Case True
Case ActiveSheet.Range("F30") = "oxigene" And ActiveSheet.Range("F31") = "T"
.Shapes("APC").Visible = False
.Shapes("ORF").Visible = True

With ActiveSheet
.Shapes("Rectangle : coins arrondis 9").Visible = False
.Shapes("Rectangle : coins arrondis 10").Visible = False

mais cela n'est pas si simple apparemment

merci beaucoup



 
re
bonjour

j'avoue je pige pas d'une manière ou d'une autre ça te renvoie true ou false
sans doute a tu fait une faute de syntaxe
mais l'idée de @job75 est très bien
je plussoie @Dranreb pour le "Me" "activesheet" pourrait ne pas être la bonne feuille active en effet
comme ça on est sur que c'est bien les F30 et 31 de la bonne feuille qui est sont testés
 
Bonjour.
Si les Shape sont sur une autre feuille j'aurais peut être plutôt mis le code dans une Sub Worksheet_Activate du module Worksheet de cette autre feuille là. A quoi bon changer la visibilité de formes qu'on ne pourra voir que lorsqu'on l'activera ? …
 
- 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
7
Affichages
726
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…