Créer une fonction en VBA

  • Initiateur de la discussion le CH'TI160
  • Date de début
L

le CH'TI160

Guest
Re a tous c'est bien ici les Questions?
bon alors !!!!
mon probleme j'essais via une fonction de récupérer le texte d'un ComboBox
je joins le texte que j'ai pondu grace à vous
Public Sub OptionButton1_Click()
Dim CTL As Control
Dim NomOptB As String
Dim texte As String
For Each CTL In Frame1.Controls 'on parcours tous les ctrl du Frame1
'on verifie que c'est un option button
If TypeOf CTL Is MSForms.OptionButton Then
If CTL.Value = True Then 'bouton qui est coché
NomOptB = CTL.Name
TxtCombo (NomOptB) 'appel de la fonction
MsgBox "ATTENTION Vous Allez Supprimer" & texte, vbOKCancel + vbCritical, "ATTENTION"
'je n'arrive pas à inserer "texte" dans le MsgBox
Exit For 'comme opt, 1 seul est coché
End If
End If
Next
End Sub

Function TxtCombo(NomOptB) As Variant
' là je me perds car je n'arrive pas à récupérer le txt du CmbB
' pour le renvoyer dans mon MsGBox où la methode select case n'est elle pas adaptée
' j'ai 8 Optb et 8 CmbB
Select Case NomOptB
Case Is = OptB_1
texte = CmbB1.Value
Case Is = OptB_2
texte = CmbB2.Value
Case Is = OptB_3
texte = CmbB3.Value 'Etc etc...............jusqu'a 8
End Select
End Function
j'espère que je n'ai pas été trop long et que je ne me suis pas trompé de section lol !!!! c'est bien pour Le VBA Ici ?????
Alors Merci d'avance pour vos conseils et petits coups de mains
A+++
Jean Marie
 
J

JulienMorgendorfer

Guest
Cher Jean-Marie,
J'ai pris personnellement ton problème à coeur étant donné ma difficulté à faire fes fonctions. C'est pour cela que je me suis permis de copier/coller ta partie de prog pour la montrer à mon prof d'info. Je te réecrirai lorsque j'aurai plus d'info.
Voilà!!!
 
L

le CH'TI160

Guest
Salut "JulienMorgendorfer"
re le Forum
Ben dit donc si les profs si mettent on va vite régler nos problèmes Lol !!
je te remercie et je pense que dans peu de temps je pourrais pousuivre mon petit projet et que j'aurai avancé d'un grand pas,car construire des fonctions doit permettre pas mal de choses
A+++
Jean Marie
 
L

Lord Nelson

Guest
Salut Jean-Marie, Julien et son Prof,

A priori, tu n'as pas besoin d'une fonction dans ta procédure !

MsgBox "ATTENTION Vous Allez Supprimer " & NomOptB, vbOKCancel + vbCritical, "ATTENTION"

puisque tu as déjà le nom du contrôle dans la variable.

Si c'est le libellé que tu cherches à faire apparaître :

MsgBox "ATTENTION Vous Allez Supprimer " & CTL.Caption, vbOKCancel + vbCritical, "ATTENTION"

A+
LN
 
R

Ronan

Guest
Bonsoir,

Ce que dit Lord Nelson est très juste.

Pour info :

Pour récupérer le contenu d'une variable initialisée dans une procédure différente de celle où l'on veut l'utiliser, il faut impérativement la déclarer en variable publique

Public texte as string

@+

Ronan
 
L

le CH'TI160

Guest
Salut "L'amiral,salut Ronan"
bonsoir le "Forum"
d'abord merci pour l'intérêt porté à ma question
je vais étudier vos propositions demain et je vous tiendrais au courant
de l'évolution de mon petit projet
je pense que votre aide me sera nécessaire très prochainement
car il ne faut pas avoir honte "JE" débute
A+++
Jean Marie
 
L

le CH'TI160

Guest
Salut "les mordus"
Bonsoir le "FORUM"
comme promis a ceux qui me font avancer je joins un morceau de ce que je suis arrivé a faire avec l'aide du forum et de ces petites mains ("enfin")
car il y a peu cela était du "chinois" enfin je le parle couramment.
donc à regarder à améliorer à critiquer("enfin") à copier etc etc.......
Merci encore à ceux qui me permettent d'avancer "enfin j'en ai l'impression et c'est bon
A+++
Jean Marie
 

Pièces jointes

  • essaisSelectCase.zip
    1.2 KB · Affichages: 25

Discussions similaires