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!!
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.