if<condition>then<action>

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:DG").Select
Selection.EntireColumn.Hidden = True
Columns("DJ:DT").Select
Selection.EntireColumn.Hidden = True
End If
End Sub

Est-ce que vous avez une idée de l'erreur dans mon code?
 
S

Spawn

Guest
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 :
 
N

nanor

Guest
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
 
S

Spawn

Guest
Re: if<condition>then<action>

J'epere que cela te sera utile

Cdt

Spawn
 

Pièces jointes

  • Reductioncolonne.xls
    27 KB · Affichages: 60
  • Reductioncolonne.xls
    27 KB · Affichages: 60
  • Reductioncolonne.xls
    27 KB · Affichages: 61
N

nanor

Guest
Re: if<condition>then<action>

Merci beaucoup, j'y etais presque, il me manquait la commande dans "this workbook"

Elle sert a quoi d'ailleurs cette commande??

En tout cas merci bcp pour ton aide.

nanor
 
S

Spawn

Guest
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
 
N

nanor

Guest
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
 
S

Spawn

Guest
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
 
@

@+Thierry

Guest
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: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
 
P

pyrof

Guest
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+
 
N

nanor

Guest
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
 

Discussions similaires

Statistiques des forums

Discussions
314 019
Messages
2 104 649
Membres
109 092
dernier inscrit
ahm74