Executer un sub depuis un sub différent

Résolu/Fermé
Peluchpika Messages postés 7 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 31 juillet 2014 - 30 juil. 2014 à 16:25
Peluchpika Messages postés 7 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 31 juillet 2014 - 31 juil. 2014 à 12:03
Bonjour, Je vais essayer d'être clair mais ce ne sera pas évident.

Je cherche à exécuter un private sub (un optionbutton sur mon userforrm)
uniquement si l'utilisateur appuie sur un bouton de commande

Plus concrètement, si l'utilisateur appuie sur "OUI" et selectionne "2feuilles" mon programme deverouille 2 textbox (le nom de chaque feuille). S'il appuie sur "NON", cela verouille toutes les textbox.

Mon but est de faire en sorte que si l'utilisateur selectionne "2feuilles" (optionbutton) puis "NON" (donc les cellules se verouillent) puis "OUI", à ce moment les textbox 1 et 2 doivent se déverouiller sans avoir besoin de retoucher aux optionbuttons.

resumé :

Conditions initiales : toutes les textbox sont verouillées


"OUI" -> "x feuilles" -> x textbox déverouillées -> "NON" -> toutes les texbox verouillées -> "OUI" -> x textbox déverouillées

(je pense que c'est faisable avec mes connaissances actuelles mais cela nécessiterait d'écrire encore un tas de lignes de code, et j'aimerais éviter de trop alourdir le code déjà bien long.)

Si une fonction permettait d'exécuter un private sub directement et combiné à une condition, cela ferait mon bonheur. *-*

Sur ce, bonne soirée, et merci d'avance de votre aide !

5 réponses

benol3 Messages postés 569 Date d'inscription lundi 29 juillet 2013 Statut Membre Dernière intervention 7 mai 2015 87
30 juil. 2014 à 16:38
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
Modifié par pijaku le 31/07/2014 à 08:45
Bonjour Peluchpika

Comme tu le signale, c'est pas très claire.

Je vais répondre en fonction de ce que j'ai compris.

sub XXXXX ()

if --- then
  Call sousSub
else
'-
end if

end sub

sub sousSub()
'+
'+
end sub



Est-ce que cela répond un peu à ta recherche?

cordialement
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
30 juil. 2014 à 17:00
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 31/07/2014 à 07:47
Bonjour,

difficile à comprendre comme tous les intervenants ci dessus
le mieux serait de joindre ton classeur

pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse


Michel
0

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

Posez votre question
Peluchpika Messages postés 7 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 31 juillet 2014
Modifié par Peluchpika le 31/07/2014 à 09:33
Bon en fait quand j'ai posté ce message j'étais tellement en galère que je savais qu'a moitié ce que je comptais faire.

Je vais préciser ce que je cherchais :

"Executer un private sub depuis un autre, si une condition est validée."

>Benol3 : Super ! c'est exactement ce que je cherchais, le premier exemple montre parfaitement comment apeller un sub. Merci =)

>Iama : Comme pour Benol3 c'est tout à fait ça, la commande "Call" n'est (dans mon cas) apparement pas indispensable, mais je préfère l'utiliser, au moins pour que si quelqun relise mon prog il comprenne plus facilement.

>Cs_Le Pivert : Apparement la solution n'est pas présenté dans ce tuto, mais je garde quand même sous la main pour vérifier la synthaxe de mon code.

>Michel_m : Bah plus besoin (en plus c'est pas un classeur c'est sur Word, et c'est confidentiel (bien que pas pour moi, mais à partir du moment ou c'est professionnel) Mais je peux quand même donner la solution que j'ai appliquée :

Private Sub OUI_Click()

'blabla les autres choses qui se passent quand on clique'

If OptionButton1.Value = True Then
        Call OptionButton1_Click
        
    ElseIf OptionButton2.Value = True Then
        Call OptionButton2_Click
        
    ElseIf OptionButton3.Value = True Then
        Call OptionButton3_Click
        
    ElseIf OptionButton4.Value = True Then
        Call OptionButton4_Click
    Else
    
    End If

End Sub
0
Peluchpika Messages postés 7 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 31 juillet 2014
31 juil. 2014 à 12:03
Awi au cas ou, je précise que le "_Click " est indispensable dans ce code, sinon, VB renvoie une erreur de compilation.
0