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

XL 2019 Condition avec Select case

  • 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é
Bonsoir Le forum
Voila une macro qui fonctionne bien, mais est il possible de masquer la colonne AT en recliquant sur le bouton
même si AE5 contient 6,9,12, c'est peut être incohérent ?
Sub Bouton1_QuandClic2()
Application.ScreenUpdating = False
Select Case [AE5]
Case 6, 9, 12
Range("AT1").EntireColumn.Hidden = False
Case Else
Range("AT:AT").Columns.Hidden = True
End Select
End Sub

dans le genre de celle ci
If Range("AT1").EntireColumn.Hidden = True Then ' La colonne est deja cachée
Range("AT1").EntireColumn.Hidden = False ' je les montre
Else
Range("AT1").EntireColumn.Hidden = True ' je les cache
End If

merci
 
Solution
Bonsoir


Ah je reconnais mon oeuf
Essaie ainsi
Code:
Sub Bouton1_QuandClic2()
Application.ScreenUpdating = False
Select Case [AE5]
Case 6, 9, 12
Range("AT1").EntireColumn.Hidden = Not Range("AT1").EntireColumn.Hidden
End Select
End Sub
Bonsoir


Ah je reconnais mon oeuf
Essaie ainsi
Code:
Sub Bouton1_QuandClic2()
Application.ScreenUpdating = False
Select Case [AE5]
Case 6, 9, 12
Range("AT1").EntireColumn.Hidden = Not Range("AT1").EntireColumn.Hidden
End Select
End Sub
 
Bonsoir pat66, JM,

Application.ScreenUpdating = False ne sert à rien ici :
VB:
Sub Bouton1_QuandClic2()
If IsNumeric(CStr([AE5])) Then If InStr("6|9|12", [AE5]) Then Columns("AT").Hidden = Not Columns("AT").Hidden
End Sub
A+
 
re
bonjour à tous
oui effectivement le select case est superflu ainsi qu'une condition(isnumeric) d'ailleurs
'faire un like absolu (pas de jocker) ("|"="ou")
'comme le like est absolu et les nombre sont séparés par un "ou" dans le motif ,on a pas besoins de tester si il y a éventuellement autre chose EST!!! avec un de ses chiffres
VB:
Sub Bouton1_QuandClic2()
If [AE5] Like "[6|9|12]" Then Columns("AT").Hidden = Not Columns("AT").Hidden
End Sub


en gros "Like "[6|9|12]"" veut dire "[=6 ou =9 ou =12]"
 
En hexadécimal 12 s'écrit C donc on peut utiliser :
Code:
Sub Bouton1_QuandClic2()
If IsNumeric([AE5]) Then If Hex([AE5]) Like "[69C]" Then Columns("AT").Hidden = Not Columns("AT").Hidden
End Sub
ou aussi :
VB:
Sub Bouton1_QuandClic3()
On Error Resume Next
If Not Hex([AE5]) Like "[69C]" Then Else Columns("AT").Hidden = Not Columns("AT").Hidden
End Sub
 
Bonsoir le fil, pat66, job75, patricktoulon

Si cette version n'a pas été proposée, je suppose qu'il y a une faille que je n'ai point vue.
VB:
Sub Bouton1_QuandClic4()
On Error Resume Next
Columns(46).Hidden = Hex([AE5]) Like "[69C]" = Not Columns(46).Hidden
End Sub
 
- 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

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
447
Réponses
7
Affichages
285
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
330
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…