Récupérez un nom défini en VB dans un USF

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

MJ13

XLDnaute Barbatruc
Bonjour le forum,

J'ai un problème.
Dans un USF, lorsque je le ferme, j'ai une variable que je nomme lastmois qui provient d'un textbox en le définissant comme un nom.

A la prochaine initialisation de mon USF, je souhaite récupérer mon dernier lastmois dans mon textbox.
Sachant que lastmois est bien dans les noms (que l'on voit avec insertion nom définir).
Quel code dois je insérer à l'initialisation de mon USF pour initialiser mon textbox avec mon dernier lastmois?


Merci pour votre aide.
 
Re : Récupérez un nom défini en VB dans un USF

Bonjour
Je vais reformuler ma question.
Dans une feuille Excel, j’ai un nom Toto qui représente 10 (je fais Insertion nom définir toto et je lui inscrit 10).
Maintenant dans une macro VB, je veux récupérer ce nom pour faire un calcul par exemple.

Cela paraît simple mais la je bloque.

Quelqu’un a t-il la solution ?

Merci
 
Re : Récupérez un nom défini en VB dans un USF

Merci pour ta réponse mais cela ne fonctionne pas.

Voici le code que j'ai testé (sachant que toto est défini à 10 avec insertion non définir). En fait je veux reprendre la valeur qui est dans la variable toto. J'ai mis quelques déclaration au cas où!

Public toto As Integer
Public tavariable As Integer

Sub Macro1()
Dim tavariable As Integer
Dim toto As Integer
tavariable = Range("toto")
test = 10 * tavariable
ActiveCell.FormulaR1C1 = test
End Sub
attachment.php

Merci d'avance
Bon appétit
 
Dernière édition:
Re : Récupérez un nom défini en VB dans un USF

Salut MJ, Michel,

Heu... Qu'est-ce qui ne fonctionne pas au juste parce que je viens de tester ton code et il fonctionne tres bien chez moi, la cellule nommée toto prend la valeur 100 (100=10*tavariable et tavariable =range("toto")=10)

Donne nous plus d'info, et peut etre qu'un fichier joint nous aiderai.

@+
 
Re : Récupérez un nom défini en VB dans un USF

Bonjour MJ, Michel, Porcinet,

D'une part, je ne sais pa si ça joue mais la variable "test" n'est pa déclaré. Le problème vient peut être de là pour MJ mais bon on sait jamais.

Erwan
 
Re : Récupérez un nom défini en VB dans un USF

Merci porcinet82

Ce que je veux c'est récupérer la variable qui se trouve dans toto mais qui est défini en faisant /Insertion /Nom /Définir et qui peux changer et qui ne doit pas être défini dans le code.


Merci de vous pencher sur mon problème.
 
Re : Récupérez un nom défini en VB dans un USF

re,

Si tu prends la ligne de code suivante : tavariable = Range("toto"),la variable tavariable prends la valeur de la cellule nommée toto

Ainsi, si la cellule nommée toto prens la valeur 15, ta variable prendra la valuer 15, si tu redéfinit la valeur de cette cellule, soit directement sur la feuille, soit dans ta macro, la valeur sera affecté a ta cellule.

Si tu n'y arrive toujours pas, mets nous un exemple en pièce jointe.

@+
 
Re : Récupérez un nom défini en VB dans un USF

Bonjour MJ13, Michel_m, Porcinet82, 🙂

🙄 MJ13, si j'ai bien compris, ça revient à comment se prendre la tête sous excel ?

Si j'ai compris ton classeur joint, ce que tu veux, c'est utiliser une constante (selon l'emploi de définir un nom que tu en fait) que tu nommes "mavariable" et que sa valeur apparaisse dans la textbox (qui est une ListBoox dans ton exemple) à l'initialisation de ton USF...
Là c'est coton car l'attribution d'un nom à une constante sous Excel, n'a rien à voir avec son homologue en VBA, sous excel, tu te retrouves avec un membre de la collection Names avec ses particularités...

Ne serait-il pas plus simple vu que tu fais appel à du VBA de créer ta constante en VBA ? genre :

Public Const Mavariable2 = 10

Private Sub UserForm_Initialize()
TextBox1.Value = Mavariable2
End Sub

ça ça marche .

Sinon si tu veux vraiment du compliqué, en restant dans le cadre de ton classeur tu emploies :

Private Sub UserForm_Initialize()
TextBox1.Value = Right(ActiveWorkbook.Names("mavariable"), Len(ActiveWorkbook.Names("mavariable")) - 1)
End Sub

ca marche aussi, mais bon...

Bonne journée ou bonnes vacances selon....

Brico
 
Re : Récupérez un nom défini en VB dans un USF

Bonjour à tous et à Bricofire .

Un grand merci à Bricofire c'est exactement ce que je cherche.
Ta seconde solution est ce que je recherchais.
En fait j'utilisais encore jusqu'à quelques temps surtout des macros Excel 4 qui posent moins de problèmes dans la définition des noms. Je mes suis mis doucement à VB et j'avais ce problème depuis quelques temps.
surpris_24.gif
TestImg.jpg

Lien supprimé

Tiens, on peut maintenant mettre RESOLU à ce post.

EN cadeau: un petit raccourci sur windows:
On ouvre l'explorateur avec La touche Windows (touche à côté de Alt) et E.
Aller un autre pour la route: On reviens sur le bureau en mettant les fenêtres en réduction avec La touche Windows (touche à côté de Alt) et M.
Et un dernier:
Avec Alt +tab, on passe d'une application à une autre.

Encore Merci.
Et voici la solution:



Bonne journée et bonnes vacances à ceux qui y sont.


Michel
 

Pièces jointes

  • Le_Plus_rapide.jpg
    Le_Plus_rapide.jpg
    10.2 KB · Affichages: 71
  • Le_Plus_rapide.jpg
    Le_Plus_rapide.jpg
    10.2 KB · Affichages: 76
  • Le_Plus_rapide.jpg
    Le_Plus_rapide.jpg
    10.2 KB · Affichages: 77
  • TestImg.jpg
    TestImg.jpg
    58.6 KB · Affichages: 93
  • TestImg.jpg
    TestImg.jpg
    58.6 KB · Affichages: 96
  • Problème usf définir nom Solution.xls
    Problème usf définir nom Solution.xls
    51.5 KB · Affichages: 63
Dernière édition:
- 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
2
Affichages
596
Réponses
3
Affichages
543
Retour