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

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.
 

MJ13

XLDnaute Barbatruc
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
 

MJ13

XLDnaute Barbatruc
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:

porcinet82

XLDnaute Barbatruc
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.

@+
 

Wan

XLDnaute Nouveau
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
 

MJ13

XLDnaute Barbatruc
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.
 

porcinet82

XLDnaute Barbatruc
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.

@+
 

Bricofire

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

Bonjour MJ13, Michel_m, Porcinet82, :)

:rolleyes: 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
 

MJ13

XLDnaute Barbatruc
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: 67
  • 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: 74
  • TestImg.jpg
    TestImg.jpg
    58.6 KB · Affichages: 90
  • TestImg.jpg
    TestImg.jpg
    58.6 KB · Affichages: 92
  • Problème usf définir nom Solution.xls
    51.5 KB · Affichages: 63
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia