Bonjour, je souhaiterai sur Excel, executer une macro lorsque la valeur d'une cellule change
J'ai déja un code fonctionnel qui réalise cette opération, cependant il porte sur la valeur d'une cellule alors que j'aimerai l'attribuer non pas à une cellule mais à l'ensemble de la colonne (en exemple de A1 à A 128)
Voici mon code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("a1" ).Address Then
Call Module2.test_feuille_2
End If
End sub
Effectivement, avec cette procédure, lorsque je modifie la valeur en A1 le module2 s'execute.
Or, je vous demande comment faire pour appliquer cette macro a chaque cellule de la colonne A1 à A128
Actuellement, je n'ai pas eu d'autre choix que de recopier cette macro autant de fois que le nombre de ligne de ma colonne, en changeant la valeur de la cellule référencée
Exemple
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("a1" ).Address Then
Call Module2.test_feuille_2
End If
If Target.Address = Range("a2" ).Address Then
Call Module2.test_feuille_2
End If
If Target.Address = Range("a3" ).Address Then
Call Module2.test_feuille_2
End If
ETC...
End sub
J'ai bien sur essayé plusieurs solution mais aucune ne marche
Solution 1
Je déclare que cette procédure porte sur la colonne
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("a1":"a128" ).Address Then
Call Module2.test_feuille_2
End If
end sub
solution 2
Je déclare une variable
Private Sub Worksheet_Change(ByVal Target As Range)
dim i as integer
i = activecell.row
If Target.Address = cells(i,1).Address Then
Call Module2.test_feuille_2
End If
end sub
Je vous demande donc si il est donc possible de simplifier mon code originel afin de le porter sur l'ensemble de la colonne