XL 2016 VBA - Une manière rapide de trouver les cellules verrouillées ?

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,
Je n'y crois pas trop, mais à part parcourir les cellules une à une (ce qui n'est envisageable que sur un Range limité) y a-t-il un moyen de trouver le Range des cellules verrouillées d'une feuille ?
Merci.
 
Re-bonjour les forçat du verrouillage,
Et merci @job75 pour ta proposition.

En effet, scanner le UsedRange c'est bien quand on considère les données.
En l'occurrence, "mon" utilisateur va préférentiellement sélectionner des colonnes entières sur un tableau parce que ça va plus vite que de scroller lignes et colonnes et ajuster la sélection (qui sert de base au verrouillage) exactement sur les limites du tableau.

De plus le verrouillage n'est pas lié au UsedRange, et si la colonne A est verrouillée par l'utilisateur, s'il ajoute une valeur au-delà du UsedRange dans une colonne verrouillée, il faut qu'il soit rejeté par Excel.

Alors oui, ton système peut aller au-delà du simple UsedRange, mais comme il y a un scan des cellules, ça peut durer assez longtemps si une certain nombre de colonnes sont verrouillées, voire la feuille entière.
Enfin il me semble...
 
La solution de @TooFatBoy d'utiliser des noms de gestionnaire de noms est finalement la plus simple.
Cette idée vient bien de mon cerveau, mais en fait ça ne vient pas de ma propre réflexion mais de ma mémoire...
En effet, je crois me rappeler d'un fil de discussion dans lequel l'excellent job75 utilisait un Nom pour mémoriser quelque chose (logiquement se devait être une plage, mais je ne me souviens plus très bien...).

Ce n'est donc pas vraiment ma solution mais plutôt celle de job75 ! 👍
 
La MFC de @Phil69970 serait une bonne solution s'il ne fallait pas parcourir les cellules pour savoir si son format a été appliqué. C'est le parcours des cellules qui est rédhibitoire.

A priori, il n'existe pas de méthode pour avoir le Range qu'une MFC a défini pour sa condition réalisée.
Pourtant Excel le sait forcément.
 
Dernière édition:
Le propriété AppliesTo donne le Range sur lequel s'applique la MFC.
Il ne donne pas hélas le Range sur lequel la MFC a réalisé sa condition.

Pareil pour le ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions) à supposer qu'il n'y ait qu'une seule MFC.
 
Dudu , tu parlais de faire commencer chaque Nom par le CodeName de sa feuille, pour pouvoir le retrouver facilement en fonction de la feuille, si j'ai bien compris.

Mais si au lieu de cela, tu donnes exactement le même nom à tous les Nom de plages, tu peux alors utiliser Sheets(LeNomDeTaFeuille).Range(LeNomDeLaPlage), et ça devrait utiliser automatiquement le bon Nom, c'est-à-dire celui faisant référence à la feuille en question.
 
Sheets(LeNomDeTaFeuille).Range(LeNomDeLaPlage), et ça devrait utiliser automatiquement le bon Nom, c'est-à-dire de la feuille en question.
Ça je suis pas sûr. C'est un peu ce à quoi faisait référence @Dranreb. Mais les noms ne semblent pas qualifiés par le nom de la feuille dans le Gestionnaire de noms même si leur "étendue" est la feuille.
Alors j'ai des gros doutes. Le préfixage par le CodeName fonctionne tel que je l'ai implémenté, alors...
 
Oui, c'est sûr on peut, manuellement ici, définir des noms identiques sur des "étendues" de feuilles différentes.
1714660433880.png

Alors il faudrait que j'adapte mon code pour indiquer l'"étendue" des valeurs à définir et retrouver.
Oui, ok... c'est possible.

D'ailleurs d'un point de vue syntaxique en VBA, je sais pas trop comment faire pour désigner un nom spécifique d'une feuille.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
252
Réponses
72
Affichages
1 K
Retour