Récupérer données d'un userform

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

G

Guilee

Guest
Bonjour à tous,

Est-il possible de récupérer des données de plusieurs textbox d'un seul userform afin de créer un graphique dans un nouveau userform?

Par exemple, l'utilisateur rentre plusieurs chiffres dans autant de textbox et par clique sur un commandbutton, le graphique s'affiche (les ordonnées restant les mêmes).

Merci d'avance de répondre à ce problème ou de donner ne serait-ce qu'un petit indice!!!

Guilee
 
Bonjour Guilee, le forum,

Voici un petit indice : tu peux dans un premier temps faire en sorte que les donnes de tes textbox aillent s'inscrire dans des cellules déterinées et ensuite il faut que dans les propriétés de ton graphique, pour l'axe des abcisses, tu indiques ces fameuses cellules correspondantes à la saisie de tes textboxs.

Ex : soit le UserForm USF1 qui contient 3 textboxs (TextBox1, TextBox2 et TextBox3).
Le code de la macro sera par exemple :

Sheets('Feuil1').Range('A1').Value = USF1.TextBox1.Value '1er textbox
Sheets('Feuil1').Range('A2').Value = USF1.TextBox2.Value '2ème textbox
Sheets('Feuil1').Range('A3').Value = USF1.TextBox3.Value '3ème textbox

Dans cet exemple, les 3 saisies de tes 3 textbox sont allés se reportées dans la feuille 1 aux cellules A1, A2, A3.
En précisant dans ton graphique que l'axe des abcisses est composé de la plage A1:A3 de la feuille1, tu aura ton graphique qui sera mis à jour.

Espérant t'avoir aidé,

Ciao ciao !!
😉
 
Ah ah!! Justement, c'est là que j'ai omis un petit détail, j'en suis désolé...

C'est d'ailleurs pour cela que je n'ai pas envoyé de classeur en exemple, vous allez comprendre:

Je souhaitais lancé une macro qui m'ouvre un userform sans ouvrir de classeur, vous voyez? Il s'agit exactement d'une calculatrice de décibels. L'utilisateur rentre les valeurs de son spectre fréquentiel et, d'après les valeurs rentrées dans chaque textbox, il peut calculer la valeur globale du spectre et le visualiser sur un graphique dans une userform indépendante.

J'espère avoir été assez clair? En tout cas je vous remercie tous pour votre réactivité!

Guilee
 
Bonjour Guilee, Law, Papaye.

Simples petites questions.

Comment va tu lancer ta macro si aucun classeur n'est ouvert?
Macro complémentaire?
Pourquoi créer un tel logiciel avec excel?

J'essai juste de comprendre, ce ne sont pas des critiques.


Adeus33
 
Salut Adeus33,

1. Je créé dans ma barre des tâches un élément de menu personnalisé (clic droit -> Personnaliser -> Onglet Commandes -> Macro -> Elément de menu personnalisé)
Ensuite, je lui affecte une macro de mon classeur de macro Perso.xls

2. La raison de la création d'un tel logiciel est que je bosse beaucoup avec les décibels et que les opérations sur cette unités sont un peu complexes (du moins assez complexes pour avoir besoin d'un petit coup de pouce avec un petit logiciel comme celui-là!)

De plus, je sais pas vous (enfin, je crois savoir ^_^), mais moi, j'aime bien VBA, alors j'm'amuse...

Et puis je suis ouvert à toutes critique! Donc, si tu as une idée plus simple quant à l'utilisation d'un autre logiciel, elle est la bienvenue!!!

Guilee
 
Bonjour Guilee, Adeus33, le forum,

Ca me semble difficile de pouvoir lancer un UserForm sans qu'un classeur soit ouvert puisque le 1er est dépendant du 2ème. :huh:

Par contre tu peux imaginer l'astuce suivante : tu ouvres bel et bien ton classeur, mais une macro à l'ouverture fait en sorte qu'un UserForm s'ouvre automatiquement et s'affiche en grand et prend toute la place de la fenêtre. Tu as ainsi l'impression que seul l'UserForm s'affiche, alors qu'en fait au second plan tu as ton classeur.

Si ça t'intéresse, voici comment faire :

Dans le code de ton UserForm, écris ceci :

Code:
Private Sub UserForm_Activate()
With UserForm1
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
End With
End Sub

Ainsi, ton UserForm sera de la taille de la fenêtre Excel. En plus il faut que tu forces la fenêtre d'Excel à être en plein écran. Et pour cela, voici le code, à mettre dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.WindowState = xlMaximized
End Sub

Voilà, j'espère que ça pourra t'aider,
Bonne journée,
Ciao ciao !! 😉
 
Salut tout le monde!

Law, je t'assure que c'est possible?! D'après la méthode que j'ai explicité plus haut. Ta remarque est cependant très juste, et j'en déduis que le classeur personnel de macro nommé PERSO.XLS n'a pas besoin d'être ouvert pour pouvoir afficher des userforms..... Mais ce n'est qu'une simple supposition!

En tout cas, je garde ton idée au chaud, je n'y avais pas pensé et c'est très judicieux! Merci!!

Guilee
 
Salut Guilee, le forum,

Pas de soucis pour le tuyau, personnellement je ne vois pas mieux.

Si par contre tu arrives à tes fins tiens moi au courant, ça m'intéresse moi aussi pour ma propre culture personnelle 😉

Bon courage,
Ciao ciao !! 😉
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
1 K
Retour