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
[cpp]
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("a1" ).Address Then
Call Module2.test_feuille_2
End If
End sub
[/cpp]
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
[cpp]
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
[/cpp]
J'ai bien sur essayé plusieurs solution mais aucune ne marche
Solution 1
Je déclare que cette procédure porte sur la colonne
[cpp]
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
[/cpp]
solution 2
Je déclare une variable
[cpp]
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
[/cpp]
Je vous demande donc si il est donc possible de simplifier mon code originel afin de le porter sur l'ensemble de la colonne