Besoin de support VBA... encore

Résolu
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

travaillant toujours sur un projet incluant du VBA, j'ai quelques questions à vous poser :

sur l'un de mes Userform, j'ai créé une zone de liste ainsi qu'un bouton "Valider". L'utilisateur doit sélectionner l'un des choix proposer, puis cliquer sur valider pour passer à la fenêtre suivante.
1. comment programmer le passage à la fenêtre suivante à partir de sa selection, puis son clic ?
2. comment recopier sa sélection dans le userform suivant ?

Un peu plus loin dans ce projet, j'aimerais afficher une fenêtre (userform) récapitulative. Selon les choix émis par l'utilisateur, ce userform contiendra un nombre de données variables. D'où ma question :
Est-il possible de créer une macro permettant de sortir un userform ayant un nombre d'objets variable ?

Merci d'avance pour tous ces renseignements, je serais surement amené à vous resolliciter à l'avenir.

Alanderson69
A voir également:

16 réponses

xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
1. comment programmer le passage à la fenêtre suivante à partir de sa selection, puis son clic ?
Il faut que dans la partie ou tu gère le clic, tu fasse des conditions comme suit par exemple:
if listbox1="choix1" then userform2.show
Attention ca ne ferme pas le premier userform :-)

2. comment recopier sa sélection dans le userform suivant ?
Tu peux definir une variable globale dans ton module et récupérer le choix de l'utilisateur dans cette variable!
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Oula,

merci pour ta réponse rapide, mais j'ai pas bien capté pour la deuxième question.
Je suis novice en programmation. Est-ce possible d'être un ti peu plus clair stp ?
Merci beaucoup !
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Ca veut dire que tu as compris pour la première!
C'est déjà bien lol
Sinon pour la deuxième,
tu dois avoir dans ton projet, un module et des userforms si je m'abuse?
Le module étant le premier truc qui se lance et qui doit donc appeler ton premier userform!
Si c'est bien le cas, il faut que tout en haut de celui ci, tu mette:
Public var1
Et par la suite dans le userform tu récupère le résultat de la saisie de l'utilisateur dans la listbox:
var1 = listbox1.text (je suis pas trop sur de la syntaxe ^^ mais tu dois la connaitre je pense)
et apres tu peux reutiliser var1 dans une autre userform sans soucis!
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
je ne connais malheureusement pas bien la syntaxe en VBA ^^, je suis tellement pas spécialiste la-dedans.
J'essaie de me dépatouiller.
Si qqn peut m'éclairer ^^ merci
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Hmm Pour ca il faudrait la forme de ton projet à l'heure actuel, et ce que contiennent les userforms!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
en fait, j'ai bien capté la logique. J'ai crée ma variable.
Pour réafficher le contenu de la variable dans le userform suivant, dans quel type d'objet doit-je rappeler ma variable ? Et quelle est la ligne de prog pour rappeler une variable ?
Merci infiniment pour ton aide
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Je comprend pas...
je pense que ta variable contient une chaine de caractere!
Donc tu as juste, pour tester, à faire un petit :
msgbox(var1)
dans ta deuxieme userform pour verifier qu'elle est bien accessible!
Et apres tu as juste à l'utiliser normalement!
Attention, ta variable est deja defini dans module, donc il ne faut pas la redeclarer!
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
le contenu de ma variable est correct. Je ne sais juste pas si je dois l'afficher dans une zone de texte, ou un intitulé dans le userform suivant.

Imaginons que ce soit un un intitulé, comment entrer le contenu de ma variable dans cet intitulé à l'ouverture du userform ?
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Q'est ce que tu appel un intitulé?
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
c comme un titre qui s'affiche dans un cadre (non-modifiable par l'utilisateur).
La zone de texte peut être modifiée (si j'utilise une zone de texte, il faut que je bloque la possibilité de modification par l'utilisateur.)
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Tu peux donc le faire une textbox je pense!
Et après tu fais:
textbox1.value=var1
textbox1.enabled=false
comme ca elle est protégée ;)
et après en modifiant l'aspect de ta textbox tu peux peut etre la rendre plus jolie^^
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
je n'y arrive pas T;T
Je vais te marqué exactement ce que j'ai marqué et tu me dis si tu vois l'erreur
Dans le userform qui s'ouvre après e clic sur valider :

Private Sub UserForm_Open()
fourchoisi.Text = fournisseur
fourchoisi.Enabled = False
End Sub

fourchoisi étant ma textbox et fournisseur ma variable.

J'ai essayé fourchoisi.Value c pas mieux.
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Il te retourne quelle erreur?
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Il n'y a pas d'erreur mais ma textbox est vide lors de l'ouverture du userform. De plus, l'utilisateur peut écrire dans la textbox
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Remplace:

Private Sub UserForm_Open()

par:

Private Sub userform_initialize()
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
Amélioration ^^ :

l'utilisateur ne peut plus écrire mais la case est encore vide.
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
ok donc ca veut dire que c'est au niveau du textbox1.text = fournisseur que ca merde^^
essaye ca:

textbox1 = var1
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
négatif m'sieur ^^

merci encore de te donner du mal pour moi
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Donc si on résume, ta variable fournisseur contient bien le nom du fournisseur, la textbox se grise bien donc l'appel à celle ci est bon.
Mais ca marche pas???
lol
bizarre
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai refait un text msgox(var1) à l'initialisation de la userform et la valeur est nulle donc ca vient de la variable et non du remplissage de la textbox
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Bon ca me rassure ^^
fais voir comment tu delcare et initialise ta variable!
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
dans mon workbook :

Public fournisseur

dans la première userform :

Private Sub valid_fournisseur_Click()
fournisseur = List_fournisseur.Text
If List_fournisseur = "***" Then recherche_fournisseur2.Show
End Sub

dans la deuxieme :

Private Sub UserForm_initialize()
MsgBox (fournisseur)
fourchoisi.Text = fournisseur
fourchoisi.Enabled = False
End Sub

Ne te moques pas stp s c une grosse boulette ^^
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Dans ton workbook?
normalement ca s'appel module1 si je ne m'abuse ^^
et ca devrais avoir cette forme:

Public fournisseur

Sub Macro1()
UserForm1.Show
End Sub
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
ok je sors ^^

merci pour ton aide !!!

derniere petite requete :

comment lui faire comprendre :

If List_fournisseur = "***" Then recherche_fournisseur2.Show ET Unload me
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
If List_fournisseur = "***" Then
recherche_fournisseur2.Show
Unload me
End If

normalement ca devrais marcher ^^
Et si ca marche pas remplace le "me" par le nom de l'userform ^^
0
Alanderson69 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention  
 
t un chef ! merci pour ton aide
comment faire pour te recontacter ^^
je vais evidemment avoir d'autres soucis qui vont surgir ^^
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Un petit message privée et tu aura surement mon msn ^^
0