if<condition>then<action>

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

N

nanor

Guest
if<condition>then<action>

Salut le forum,

Bonne reprise à tous!

J'ai une petite question de vba que je n'arrive pas à résoudre.

Je voudrais qu'en fonction de la valeur d'une cellule, mon tableau s'ajuste au mois concerné (en masquant automatiquement certaines colonnes). J'ai testé la commande suivante mais ca ne fonctionne pas.


Sub Selection_mois()
If UCase(Range("A3")) = "Janvier" Then
Cells.Select
Selection.EntireColumn.Hidden = False
Columns("T:BK").Select
Selection.EntireColumn.Hidden = True
Columns("BP😀G").Select
Selection.EntireColumn.Hidden = True
Columns("DJ😀T").Select
Selection.EntireColumn.Hidden = True
End If
End Sub

Est-ce que vous avez une idée de l'erreur dans mon code?
 
Re: if<condition>then<action>

Essaye deja de ne pas utiliser le "If Then" pour ce type de traitement, le "select case" est plus adapté.

Cdt
Spawn
-----------
Exécute un des blocs d'instructions indiqués, selon la valeur d'une expression.

Syntaxe

Select Case testexpression
[Case expressionlist-n
[statements-n]] ...
[Case Else
[elsestatements]]

End Select

La syntaxe de l'instruction Select Case comprend les éléments suivants :
 
Re: if<condition>then<action>

Oula ca m'a l'air bien compliqué.

Je vois un fichier avec un exemple et une macro qui effectue l'action que je souhaite pour le mois je janvier.

Peux-tu m'aiguiller stp?

merci d'avance.

nanor
 
Re: if<condition>then<action>

il y a pas de quoi 🙂

la commande sert a declencher la macro lors de la modification de l'onglet

dans l'aide VBA, regarde les rubriques evenements de l'objet Workbook

@+
Spawn
 
Re: if<condition>then<action>

re-

Je viens de voir un nouveau probleme, a chaque fois que je rentre un chiffre dans mon tableau, la macro de reactualise... Ya pas un moyen de la faire se taire.. 😉

Amicalement

nanor
 
Re: if<condition>then<action>

Modifie le code dans la fonction du workbook comme ceci :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveCell.Address = "$A$4" Then
Module1.ChangeCellule
End If
End Sub


Spawn
 
Re: if<condition>then<action>

Bonjour

Je me permets de passer par là...

Ou alors on se casse pas la tête avec çà les MAJ et les Ucase et companies en rédigeant comme çà

Option Compare Text
Sub ChangeCellule()
Select Case Range("A4").Value
Case "JANVIER"
Columns("D:I").EntireColumn.Hidden = True
Columns("D😀").EntireColumn.Hidden = False
Case "FEVRIER"
Columns("D:I").EntireColumn.Hidden = True
Columns("E:E").EntireColumn.Hidden = False
Case "MARS"
Columns("D:I").EntireColumn.Hidden = True
Columns("F:F").EntireColumn.Hidden = False
Case Else
End Select
End Sub

L'option compare text est pratique pour éviter ce genre de risque.

(A noter aussi les Select on giclés... C'est plus propre visuellement et surtout çà va plus vite... 🙂

Bon Après Midi
@+Thierry
 
Re: if<condition>then<action>

Certe le select case est mieux adapté dans ce cas, mais le problème n'était pas là.

Pourquoi as tu ecrit case "JANVIER" et non "Janvier" la macro de nanor aurait été bonne si

If UCase(Range("A3")) = "JANVIER" Then


A+
 
Re: if<condition>then<action>

En tout cas ca marche impec chez moi maintenant 🙂 🙂

Merci beaucoup pour votre aide. Je passerai régulièremement sur le forum désormais pour essayer à mon tour de rendre service.

nanor
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour