Macro VBA à modifier

Bonjour,

J'ai réussi à créer une macro qui représente ce que je souhaiterais faire, elle fonctionne pour mon tableau test, mais je n'arrive pas à la modifier pour la faire fonctionner sur mon tableau final.

Sur le tableau test , selon ce qu'on choisi à partir d'une liste déroulante, les cellules se verrouillent et se colorient, je souhaiterai que sur le tableau final, les cellules des colonnes R à Z se verrouillent et se colorient lorsque je choisis Flux 4 et que la cellule colonne "AD" se verrouille et se colorie lorsque je choisis Flux 1.

Je vous mets ci-dessous la macro qui fonctionne pour mon tableau test :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then

Select Case Target.Value

Case Is = "Flux 4"

ActiveSheet.Unprotect

Cells.Locked = False

Range(Target.Offset(, 3), Target.Offset(, 4)).Interior.ColorIndex = 16

Range(Target.Offset(, 3), Target.Offset(, 4)).Locked = True

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Case Else

ActiveSheet.Unprotect

Cells.Locked = True

Range(Target.Offset(, 3), Target.Offset(, 4)).Interior.ColorIndex = xlColorIndexNone

End Select

End If

End Sub

Merci d'avance pour votre aide!!

10test-2.xlsm (14.19 Ko)
14fichier-final.xlsm (16.80 Ko)

Salut eme.fny et bienvenue sur notre Forum,

eme.fny a écrit :

J'ai réussi à créer une macro qui représente ce que je souhaiterais faire

Es-tu bien certain que tu as réellement réussi à créer cette macro toi-même tout seul ? Si oui, je ne comprends pas que tu n’arrives pas à la transformer pour ton autre fichier.

Ca ressemble plutôt à une macro que tu aurais obtenue gracieusement sur un autre Forum sur la base d’un fichier modèle et que tu n’arrives pas à reproduire pour ton fichier réel.

Mais si vraiment c’est toi qui as créé cette macro, voici déjà une piste afin qu’elle commence à fonctionner sur ton fichier réel : dans ton ‘’Fichier final’’, à l’aide de tes listes de validation de données, tu écris le texte ‘’Flux 4 ‘’ au lieu de ‘’Flux 4’’. Il est donc tout à fait normal que ton code ne fonctionne pas correctement !!!!

Pour la suite du code, je te laisse faire les autres modifications nécessaires.

Cordialement.

Bonjour,

Une personne de ma famille m'a aidé a la realiser, je n'avais jamais travaillé sur VBA auparavant.

Je cherche la "fonction" qui permettrait à la macro de verrouiller et colorier une série de cellule et pas seulement 2 cellules comme sur le test.

Je pourrais répéter la fonction " Range (Targett.Offset ( )) " x fois, mais mon but est d avoir une macro simplifiée au maximum..

Merci d'avance.

Rechercher des sujets similaires à "macro vba modifier"