Affecter une meme macro a une valeur d'une cellule et repeter sur les cellules s

cs_miniboo Messages postés 14 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 10 août 2010 - 22 juil. 2009 à 14:46
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 23 juil. 2009 à 20:28
Bonjour à Tous,

Je ne connais pas la différence entre les types de VB, donc j'espère quand même que ce post est bien ciblé!

Je cherche à affecter une macro (=afficher une colonne) lorsque la valeur 1 est selectionnée dans une liste de choix (données-validation) 1 ou 2.

le code si dessous me le permet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B4").Value = "1" Then
Run "affichercolonne"
Else: Run "cachercolonne"
End If
End Sub

Cependant, je souhaiterais affecter cette fonction non seulement à la cellule B4 mais aussi aux cellules suivantes de la même colonne (B5,B6,B7,...Bn).

Je pense que ca doit etre quelquechose du style :
Range(ActiveCell, ActiveCell.End(xlDown)).Select

Mais je n'arrive pas à trouver la bonne formule!
Si quelqu'un peut me débloquer ca serait super!!

Merci d'avance à tous!

Miniboo

1 réponse

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
23 juil. 2009 à 20:28
Bonjour ,
voici un exemple a exploiter
-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim LigneSelectionner As Integer
Dim ColonneSelectionner As Integer
Dim LigneHaut, LigneBas, ColonneGauche, ColonneDroite
'Ligne et colonne selectionées
LigneSelectionner = Target.Row
ColonneSelectionner = Target.Column
'Plage de selection
LigneHaut = 4
LigneBas = 10
ColonneGauche = 2
ColonneDroite = 2


If LigneSelectionner >= LigneHaut And _
LigneSelectionner <= LigneBas And _
ColonneSelectionner >= ColonneGauche And _
ColonneSelectionner <= ColonneDroite Then

If Trim(Cells(LigneSelectionner, _
ColonneSelectionner).Value) = "1" Then
Run "affichercolonne"
Else: Run "cachercolonne"
End If

Else
End If

End Sub

-------------------------------------------
Dedenet2
0
Rejoignez-nous