Re...
Remarques préliminaires :
Sub A1, B1 et C1 c'est un peu court jeune homme...
J'ai préféré WCA, WCB, et WCC : 3 lettres pour une Sub c'est le minimum syndical ( en effet si ultérieurement tu dois faire une recherche c'est plus simple de trouver WCA, WCB... Tu tombes rarement sur des homonymes...
WCA c'est W=Travail, CA = Column A...
Le problèmes était que dans ta Sub Worksheet_Change tu appelles d'autres macros qui ne savent rien de la feuille ou tu travailles ni de la ligne en cours.
C'est pourquoi dans la déclaration de ces Sub j'ai intégré des déclarations de paramètres :
Sub WCA (i&) 'signifie que la Sub attend au moment de l'appel un paramètre i = integer
et dans la Worksheet_Change chaque appel de procédure envoi en même temps le Target.Row à la Sub :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then WCA (Target.Row)
If Not Intersect(Target, Range("B1:B10")) Is Nothing Then WCB (Target.Row)
If Not Intersect(Target, Range("C1:C10")) Is Nothing Then WCC (Target.Row)
End Sub
Bon j'ai supprimé les ":" indésirables ("beurk") dans les Sub...
pour le "0,000694444444444444") j'ai pas trop chercher à comprendre...
Mais surtout j'ai viré tous les offset :
Maintenant qu'on sait sur quelle feuille et quelles colonne on travaille plus besoin de travailler en cellules décalées
Je t'ai réécris ça en .Cells(i, x) ce qui est nettement plus propre.
Bon si tu as encore des questions...
A+