Affecter une meme macro a une valeur d'une cellule et repeter sur les cellules s
cs_miniboo
Messages postés14Date d'inscriptionjeudi 16 juillet 2009StatutMembreDernière intervention10 août 2010
-
22 juil. 2009 à 14:46
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 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!!
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 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