creer une boite de dialogue

V

vivi

Guest
Bonjour,

Etant un novice de VB, je cherche a creer une boite de dialogue dans laquelle il y aurait un bouton avec une liste déroulante.
Merci de votre aide.
 
P

Popeye

Guest
essaie ce fichier que je viens de faire
 

Pièces jointes

  • exemple_boite_de_dialogue.xls
    30 KB · Affichages: 79
  • exemple_boite_de_dialogue.xls
    30 KB · Affichages: 78
  • exemple_boite_de_dialogue.xls
    30 KB · Affichages: 78
@

@+Thierry

Guest
Bonjour Vivi,

En essayant de te l'expliquer par 11 étapes simples et claires...

1) Tu rentres dans le VBA's word
Donc ALT F11 => VBE (éditeur Visual Basic)

2) tu crées un UserForm
Menu => Insertion => UserForm

3) tu actives la Barre d'outils "Boite à Outils"
Menu => Affichage => "Boite à Outils"

4) tu crées un Bouton
Barre d'outils "Boite à Outils" => "CommandButton" que tu dessinnes sur le userform...

5) tu crées une Liste Déroulante
Barre d'outils "Boite à Outils" => "ListBox" que tu dessinnes sur le userform...

Là c'est fait pour le Design........... Maintenant la programmation...

6) Tu entres dans le Private Module de ton UserForm1
Soit Tu double cliques sur le Userform
Soit Menu => Affichage => Code

7) Tu initialises ton UserForm
Tu vas dans le Private Module ouver en 6)...
En haut à Gauche tu choisis dans la liste déroulante "UserForm1"...
En Haut à Droite tu choisis dans la liste déroulante "Initialize"...
Tu auras ceci :

Private Sub UserForm_Initialize()

End Sub

8) tu remplies ta Liste Déroulante
Private Sub UserForm_Initialize()
ListBox1.AddItem "Toto"
ListBox1.AddItem "Zaza"
ListBox1.AddItem "Titi"
End Sub

9) Tu attribues une commande à ton bouton :
Idem que 7 mais tu choisis :
En haut à Gauche tu choisis dans la liste déroulante "CommandButton1"...
En Haut à Droite tu choisis dans la liste déroulante "Click"...
Tu auras çà :

Private Sub UserForm_Click()

End Sub


10) tu attribue une action à ton CommandButton

Private Sub CommandButton1_Click()
MsgBox "Vous Avez Selectionnez " & ListBox1.Value
End Sub

.......... Voilà ton premier UserForm Vivi !!! :) Tout Simple et basic


Bon Aprem
et welcome in XLD and VBA's Word !

@+Thierry
 
@

@+Thierry

Guest
Hé hé hé bonjour Popeye !

Et oui plus simple à faire qu'à expliquer !! Mais comme çà Vivi auras les explications et un exemple concrêt et prèt à l'emploi....

ListBox ou Combobox sont cousines et dans cet exemple se gèrent identiquement !

Bon aprèm
@+Thierry
 
V

vivi

Guest
Merci beaucoup à vous deux !
Maintenant je souhaite integrer ce mini programme dans une macro plus conséquente. Par conséquent un de mes boutons s'appelle "valider" et l'autre "annuler".

Le bouton annuler doit me permettre de stopper tout le programme ; j'ai donc écrit :
Private Sub CommandButton2_Click()
Stop
End Sub

Le bouton valider doit me permettre de continuer le programme. Que dois je écrire entre : "Private Sub CommandButton1_Click()" et "End Sub"

Merci une nouvelle fois par avance.

D'autre part, serait il possible de me conseiller des livres pour s'initier à VB.
 
P

Popeye

Guest
attention
ya deux choses
VB et VBA
ca se ressemble mais ya pas mal de difference tout de meme
VBA est orienté objet de l'application dans lequel il est (excel par exemple)

ya pas mal d'ouvrage qui parle de VBA regarde la page d'acceuil
http://www.excel-downloads.com/

ou

http://www.excel-downloads.com/html/French/librairie/details.php?id=9

mais tu apprendras beaucoup en bidouillant et en regardant dans l'aide de VBA (tu appuies sur F1 dans VBA)


sinon pour la suite de ton programme essaie d'etre plus clair car je comprends pas tout de ce que tu cherches a faire
 
V

vivi

Guest
merci pour les ouvrages !

L'aide que vous m'avez apportée concerne une partie de mon programme.
En plus de la liste dérooulante je souhaite faire apparaitre deux boutons : valider et annuler. Je les ai donc dessiner. Mais je n'arrive pas a donner la bonne instruction à chaque bouton. L'un doit me permettre de "reprendre" l'éxécution de mon programme. L'autre doit stopper l'éxécution de la macro.

Merci d'avance pour votre aide.
vivi
 
@

@+Thierry

Guest
Re Vivi, Popeye, Le Forum !

Ben, bon, Heu...

Bouton Valider... Tu ne dis pas ce que tu veux faire?
Je te donnes trois exemples comme çà au vol !

1) Ceci serait la syntax pour un message et fermer le UserForm :
Private Sub CommandButton1_Click()
MsgBox "Vous Avez Selectionné " & ListBox1.Value
unload me
End Sub

2) Ceci serait la syntax pour reporter la sélection dans une cellule et fermer le UserForm :
Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("A1").Value = ListBox1.Value
unload me
End Sub

3) Ceci serait la syntax pour faire un check que la listbox contien bien une sélection et ensuite reporter la sélection dans une cellule et fermer le UserForm :
Private Sub CommandButton1_Click()
If ListBox1.ListIndex = -1 Then
MsgBox "Vous n'avez rien selectionné, faites une selection !", vbCritical, "warning"
Exit Sub
End If
Sheets("Feuil1").Range("A1").Value = ListBox1.Value
unload me
End Sub


Bouton Annuler...

Version simple :
Private Sub CommandButton1_Click()
unload me
End Sub

Version avec demande de confirmattion :
Private Sub CommandButton2_Click()
Dim Quitter As Byte
Quitter = MsgBox("voulez-vous quitter ?", vbYesNo)
If Quitter = 6 Then Unload Me
End Sub


Pour les bouquin, il doit y avoir sur la site une pub pour un bouquin de programmation VBA par John Walkenbach (Traduit en français).... J.Walk est un de mes Maîtres d'Excel...

Voilà Vivi...

(En supposant que Popeye aura illustré d'un fichier !! lol)

@+Thierry
 
C

Celeda

Guest
Bonjour,

Une petite intrusion comme j'aime les faire quand je vois @+Thierry refaire surface et redonner les tutoriaux - 11 étapes mais il y a en a dix - tu as oublié la onzième -!-

11- Ne pas oublier de faire un bisou pour l'apprentissage

Sub BisouThierry
Dim Bisou
Si contente = Bisou
If si pas contente = Msgbox(bisou quand même parce que toi a essaye d'aider moi)
End Sub


Celeda
 
@

@+Thierry

Guest
hummmm

coucou Céléda :)

Merci bcp pour les bizoux !!! (red moi !


Tiens tant que je t'ai au bout du fil si tu veux voir ........ j'ai eu un point à faire là >>>> Lien supprimé

Bizzzzzzzzzzzzzzz

@+Thierry
 
V

vivi

Guest
une énième question !!! je souhaiterais que mon choix puisse etre mémoriser en tant que variable afin de pouvoir m'enservir par la suite. Plus précisément je cherche à ce que le choix fait lors de la boite de dialogue me permette d'aller sur un onglet du même nom.

Voici ce que j'ai fait :

dans le userform
onglet= Combobox1.value (j'aiuntilisé tout au long du userform combobox)

dans le programme
shhets(onglet).select


Merci d'avance
 

Discussions similaires

Réponses
6
Affichages
471
Réponses
8
Affichages
326

Statistiques des forums

Discussions
314 211
Messages
2 107 328
Membres
109 804
dernier inscrit
Dramac