• Initiateur de la discussion Initiateur de la discussion Luki
  • 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 !

Luki

XLDnaute Accro
Bonjour à tous,
Samedi matin grisouille, programmation qui pétouille !

J’ai un souci dans le projet que je suis en train de développer et j’ai besoin de votre aide :

J’ai créé une barre d’outils avec plusieurs contrôles.
Les paramètres de ces contrôles doivent varier en fonction de la feuille active ( visible, enabled, enfoncé, etc.)
A la création de la feuille par macro, je définis les paramètres par défaut des contrôles a partir d’une plage source (RgOr)
Je les passe à un tableau ( dim Tab() ) que je stocke dans la feuille à l’aide d’un nom local : names.add name :=Activesheet.name & ' ! ' & ' Controlsvalues ' refersto :=mytab

Jusque là tout va bien.
Le problème arrive quand je veux récupérer ce tableau pour mettre à jour les contrôles de la feuille active.

J’arrive à affecter ce tableau à une plage (RgCo) comme ceci :
RgCo =[Feuil1 !ControlsValues] Mais ceci ne me convient pas car je dois faire référence à la feuille active. Donc j’ai essayé ceci :

RgCo =[ Activesheet.name & ' ! ' & ' Controlsvalues '] Mais ça ne marche pas !

J’ai visiblement un problème avec les [ ] qui évaluent la chaîne mais pas le nom. J’ai essayé de passer d’abord par une string , en vain.

Je sèche…

Je mets l’ exemple simplifié en Pj

Merci d’avance.
[file name=TabetNom.zip size=7324]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabetNom.zip[/file]
 

Pièces jointes

Re Bonjour,
Finalement le ciel s'est dégagé grâce à l'aide vba:

'L'avantage des crochets droits réside dans la plus grande concision du code. Celui résultant de l'utilisation de la méthode Evaluate est que l'argument est une chaîne de caractères, ce qui vous permet d'élaborer la chaîne de caractères dans votre code ou d'utiliser une variable Visual Basic.'


Donc en passant par evaluate(), ça marche!


Bonne journée à tous
 
- 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

Retour