Actionner un code au changement de la valeur dune

Fermé
Chrisnapoli -  
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour
je voudrais un code qui me permette d'actionner une macro chaque fois qu'une des 4 valeurs inscrite dans des cellules précises(elles sont 20 au total )va changer
le contenue de ces cellules est donne par une condition qui est inscrite dans ces 20 cellules par formules le résultat obtenu est OK quand la macro devra être enclenche ou("")
le systeme fonctionne actuellement par bouton et je veux rendre automatique la procédure je mets en dessous le code de cette macro

Option Compare Text
Private Sub linkrg(target As Range, source As Range)
source.Copy
target.Parent.Activate
target.Select
target.Parent.Paste link:=True
Application.CutCopyMode = False
End Sub
Sub RecopiePlage()

Application.ScreenUpdating = True


If [AX101] = "Ok" Then
Call linkrg([CK11:CS51], [BA101:BI141])
ElseIf [AX144] = "Ok" Then
Call linkrg([CK11:CS51], [BA144:BI184])
ElseIf [AX187] = "Ok" Then
Call linkrg([CK11:CS51], [BA187:BI227])
ElseIf [AX230] = "Ok" Then
Call linkrg([CK11:CS51], [BA230:BI270])
ElseIf [AX273] = "Ok" Then
Call linkrg([CK11:CS51], [BA273:BI313])
End If
If [BZ101] = "Ok" Then
Call linkrg([DB11:DJ51], [BO101:BW141])
ElseIf [BZ144] = "Ok" Then
Call linkrg([DB11:DJ51], [BO144:BW184])
ElseIf [BZ187] = "Ok" Then
Call linkrg([DB11:DJ51], [BO187:BW227])
ElseIf [BZ230] = "Ok" Then
Call linkrg([DB11:DJ51], [BO230:BW270])
ElseIf [BZ273] = "Ok" Then
Call linkrg([DB11:DJ51], [BO273:BW313])
End If
If [AX316] = "Ok" Then
Call linkrg([CK57:CS97], [BA316:BI356])
ElseIf [AX359] = "Ok" Then
Call linkrg([CK57:CS97], [BA359:BI399])
ElseIf [AX402] = "Ok" Then
Call linkrg([CK57:CS97], [BA402:BI442])
ElseIf [AX445] = "Ok" Then
Call linkrg([CK57:CS97], [BA445:BI485])
ElseIf [AX488] = "Ok" Then
Call linkrg([CK57:CS97], [BA488:BI528])
End If
If [BZ316] = "Ok" Then
Call linkrg([DB57:DJ97], [BO316:BW356])
ElseIf [BZ359] = "Ok" Then
Call linkrg([DB57:DJ97], [BO359:BW399])
ElseIf [BZ402] = "Ok" Then
Call linkrg([DB57:DJ97], [BO402:BW442])
ElseIf [BZ445] = "Ok" Then
Call linkrg([DB57:DJ97], [BO445:BW485])
ElseIf [BZ488] = "Ok" Then
Call linkrg([DB57:DJ97], [BO488:BW528])
End If
Cells(12, 1).Activate
ActiveWindow.ScrollRow = ActiveCell.Row
End Sub
A voir également:

1 réponse

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 346
 
0
Chrisnapoli
 
Bonjour
l autre c 'est un semblant de solution , mais comme je ne connais pas la programmation-il m 'est difficile de trouver la bonne écriture
la macro marche mais pas en automatique donc dans
https://forums.commentcamarche.net/forum/affich-35416428-correction-de-mon-code

j ai essaye humblement de trouver une solution parce que toutes les propositions que l 'on m 'a faite ne sont pas concluantes "
je pense que si quel-qu 'un prend la peine de corriger ce " correction de mon code ", je vais arriver à ce que je me suis fixé ,encore faut il que la personne comprenne exactement la ou je veux arriver
la logique est très simple le chemin à emprunter est parait il plus compliqué
j essaye de poster différents messages en expliquant de différentes façons mais apparemment personne ne trouve... patience cela ne serait tarder......
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 346
 
Non, non, pas de "différents messages" mais une discussion unique suivie et, si possible, en argumentant.
0