Actionner un code au changement de la valeur dune

Fermé
Chrisnapoli - 13 juin 2018 à 15:02
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 - 13 juin 2018 à 15:20
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 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 323
13 juin 2018 à 15:05
0
Chrisnapoli
13 juin 2018 à 15:18
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 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 323
13 juin 2018 à 15:20
Non, non, pas de "différents messages" mais une discussion unique suivie et, si possible, en argumentant.
0