Plages de cellules avec plusieurs noms

Bonjour,

J'ai des plages nommées que j'utilise dans des formules et dans VBA.

Par exemple la colonne 1 se nomme "Date", la colonne 2 se nomme "prénom", etc...

Je voudrais protéger ces plages et pour cela la méthode intersect de vba dans la procédure d'événement SelectionChange est parfaite.

Je voudrais donc pour simplifier le code nommer l'ensemble des cellules à protéger "plageInterdite" par exemple, mais dans plageInterdite se trouverait des cellules déjà nommées par ailleurs ("Date", "prenom" etc...).

Savez-vous si ce "surnommage" peut engendrer des conflits tant au niveau VBA que des formules de la feuille de calcul ?

Merci.

Bonjour,

Savez-vous si ce "surnommage" peut engendrer des conflits tant au niveau VBA que des formules de la feuille de calcul ?

On ne voit pas ton fichier mais de prime abord la réponse est non.

Prends la plage en question (date et prénom) puis nommes la "plageinterdite" et utilise ce nom dans ton code --> Range("plageinterdite")

ou

Utilise tout simplement les deux noms "date" et "prenom" dans ton code VBA

Amicalement

Dan

Merci pour ta réponse rapide, je vais tenter ça.

Il y a en fait beaucoup plus que deux colonnes, c'est pour ça que je veux renommer tout ça d'un coup.

Si ça interesse quelqu'un de protéger par cette méthode, il faut savoir que c'est une protection de premier niveau et caron ne change pas de sélection on peut modifier la cellule en recliquant dessus.Je mets quand même le code car je trouve cette méthode super pratique.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("essai")) Is Nothing Then Exit Sub
MsgBox "cellules protégées"
End Sub

ps:je n'ai pas mis le fichier car il est trop gros (2.07Mo), et il y aurait eu trop d'infos à anonymiser.

Salut le forum

Pour interdire le changement de valeur dans une plage protégée

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("essai")) Is Nothing Then Exit Sub
MsgBox "Vous êtes dans une plage protégée" & vbCrLf & "Votre modification va être annulée"
With Application
  .EnableEvents = False
  .Undo
  .EnableEvents = True
End With
End Sub

Mytå

2compte-client.xlsm (44.58 Ko)
Rechercher des sujets similaires à "plages noms"