Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 15h45   #1
Candidat au titre de Membre du Club
 
Homme
Technicien réseau
Inscription : décembre 2011
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien réseau
Secteur : Service public

Informations forums :
Inscription : décembre 2011
Messages : 91
Points : 13
Points : 13
Par défaut Explication UserForm

Bonjour à tous et à toutes.


J'ai tenté de comprendre l'utilisation des USER form mais j'avoue ne pas avoir tout compris

Est -ce que quequ'un pourrait juste faire un petit exemple d'un user form

avec du texte,un titre,couleur de fond etc...


Merci par avance et bon courage

debutVBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 15h49   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
Bonjour,

Tout est expliqué ici : Les USerforms

Un fichier exemple ne te donnera pas les manipulations de sa création
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 14h47   #3
Candidat au titre de Membre du Club
 
Homme
Technicien réseau
Inscription : décembre 2011
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien réseau
Secteur : Service public

Informations forums :
Inscription : décembre 2011
Messages : 91
Points : 13
Points : 13
Par défaut suite réponse

Bonjour,

j'ai compris l'utilisation des UserFOrm Merci Jfontaine


Par contre est- il possible d'avoir dans les USers form les memes fonctionnalites qu'un input box

je m'explique si par exemple j'ai ceci

Code :
1
2
3
4
5
6
Dim var 
var =Application.InputBox("saisissez votre valeur",type:=1)
 
if var >10 
 
UserForm.Show
Je souhaiterai que la saisit ecran se fasse dans le User Form ,puis récuperer la valeur et la tester.

COmment faire cela?

Merci à tous et à toutes
debutVBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 14h58   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
il te faut ajouter une userform à ton projet, puis insérer les objets suivants :
- un label pour texte question
- une textbox pour la réponse de l'utilisateur
- un bouton Valider
- un bouton Annuler

Ensuite il te faudra coder les évènements liés à ces objets.

C'est un très bon exercice quand on débute le VBA
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 16h19   #5
Candidat au titre de Membre du Club
 
Homme
Technicien réseau
Inscription : décembre 2011
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien réseau
Secteur : Service public

Informations forums :
Inscription : décembre 2011
Messages : 91
Points : 13
Points : 13
Par défaut suite réponse

Re ,

Voici ce que je tente de faire :

J'affiche successivement 3 user Form,Dans UserForm2 il y a deux Zones de texte.

Dans la premiere Zone il y a une question et la deuxieme zone de texte on doit saisir la reponse a la question.Il s'avere que dans ce cas ,on doit saisit une valeur entiere numerique.

j'arrive donc a recuperer cette valeur ainsi
maVariable = UserForm2.TextBox2.Value

mais des que je souhaite tester cette valeur ou l'utiliser pour faire un calcul ,visiblement il ne reconnait pas la variable en tant que valeur entiere ou autre.
j'ai l'impression qui considere cela comme du texte..

Qui pourrait m'aider à resoudre cela?


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 UserForm5.Show
 UserForm1.Show
 UserForm2.Show
 
monNombreDeMachines = UserForm2.TextBox2.Value
nbMachines = monNombreDeMachines
MsgBox nbMachines ' Affiche bien une valeur numérique
 
 
'Meme si on saisit une valeur < 5 il ne rentre jamais dans le If
If nbMachines < 5 Then
MsgBox " nbMachines est plus petit que 5 "
End If
debutVBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 16h24   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
As tu déclaré et typé ta variable nbMachines ?


Code :
1
2
3
4
5
Dim nbMachines as Integer
nbMachines = cInt(UserForm2.TextBox2.Value)
 
'Meme si on saisit une valeur < 5 il ne rentre jamais dans le If
If nbMachines < 5 Then MsgBox " nbMachines est plus petit que 5 "
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 16h56   #7
Candidat au titre de Membre du Club
 
Homme
Technicien réseau
Inscription : décembre 2011
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Technicien réseau
Secteur : Service public

Informations forums :
Inscription : décembre 2011
Messages : 91
Points : 13
Points : 13
Par défaut suite réponse

re,

non je ne l'avais pas déclaré et laissé en Type Variant.

j'ai fais un copier-coller du code que tu as proposé et cela lève une erreur Incompatibilité de type ,cela signifie qu'il ne le voit pas comme une valeur numérique entière mais toujours comme du texte.

Merci à toi

debutVBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 17h31   #8
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 919
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 919
Points : 7 235
Points : 7 235
Code :
cInt(UserForm2.TextBox2.Value)
Cette ligne convertit "UserForm2.TextBox2.Value" en type Interger.
Que retourne UserForm2.TextBox2.Value lors de l'erreur ?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h35.


 
 
 
 
Partenaires

Hébergement Web