Cancel = true ne fonctionne pas sur sortie textbox

Bonsoir,

un fichier exemple avec un USF non MODAL à adapter :

9textbox1.xlsm (20.69 Ko)

Petit soucis avec le verrouillage numérique qui saute, une fois remis il ne saute plus mais c'est dérangeant pour la première reprise du numéro...

@ bientôt

LouReeD

Bonjour,

fichier suivant !
ce dernier est avec un USF non Modal et il ne désactive plus le NumLock ! Enfin normalement...

6textbox1.xlsm (20.89 Ko)

Les codes :
Sur un module standard :

Public EnCours As Boolean
Sub TestLRD()
    EnCours = False
    UserForm1.Show 0
End Sub
Public Function ControlerFormatTelephone(ByVal telephone As String) As Boolean
    Dim telNettoye As String
    ControlerFormatTelephone = False
    ' Suppression des espaces et caractères non numériques
    telNettoye = Replace(Replace(Replace(telephone, " ", ""), ".", ""), "-", "")
    ' Vérifier que le téléphone contient bien 10 chiffres après nettoyage
    If Len(telNettoye) <> 10 Or Not IsNumeric(telNettoye) Then ControlerFormatTelephone = True
End Function

Sur le USF :

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Wsh As Object
    ' si EnCours est VRAI alors on quitte la Sub
    If EnCours = True Then Exit Sub
    If ControlerFormatTelephone(UserForm1.TextBox1.Value) Then
        EnCours = True
        MsgBox "Erreur dans le numéro de téléphone, recommencez !"
        Set Wsh = CreateObject("WScript.Shell")
        ' suite à la validation du textbox1 on en sort et on va dans le textbox2 qui est masqué
        ' si dessous on applique la commande Shift+Tab qui permet de revenir en arrière
        ' cela a pour conséquence de revenir dans la textbox1 et de sélectionner sa valeur
        ' le fait d'utiliser un objet étrangement cela ne fait plus sauter le NumLock, du moins chez moi
        Wsh.SendKeys "+{Tab}", True
        Set Wsh = Nothing
        EnCours = False
    End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' on passe EnCours à VRAI de façon à ne pas afficher le message d'erreur lorsque l'on quitte le USF
    EnCours = True
End Sub

@ bientôt

LouReeD

Bonjour

désolé pour cette réponses tardive, mais ta solution fonctionne LouReed. entretemps, j'ai travaillé sur une solution qui garderait un uf en modal avec un frame menu mais sans dupliquer le code dans chaque formulaire. je vous poste cette solution pour avis. merci à tous

Why not ? Ce qui me dérange c'est la fermeture/ouverture des USF... Cela est-il gênant s'ils ne sont qu'afficher les uns sur les autre, ou bien jusque masqués ? Je ne sais pas si un Hide lance l'animation de fermeture ou s'il est caché "directement"...

@ bientôt

LouReeD

Bonjour à tous,

@jvoitu Pourquoi ne pas utiliser un seul formulaire avec un contrôle MultiPage ? cela éviterais pas mal de manipulations

Un petit exemple de gestion de paramètres pour une application.

Bonjour à tous,

@jvoitu Pourquoi ne pas utiliser un seul formulaire avec un contrôle MultiPage ? cela éviterais pas mal de manipulations

Un petit exemple de gestion de paramètres pour une application.

Joli !

bonjour,

et merci à tous. je regarde à nouveau ces solutions.

re, j'avais essayé le multipage suite à la suggestion de lou reed de gérer par onglet, mais je retombais dans de la duplication de code. ta solution, jean-paul, semble fonctionner différemment. effectivement il y a un menu et on affiche les infos demandées, mais apparemment sur le même onglet? ou alors tu masques les contrôles en fonction du bouton cliqué? peux- tu me passer le fichier exemple?

A noter, j'ai pour l'instant 18 domaines (comptes, échéances, impôts, autres documents, budgets, tiers, utilisateurs, catégories, emprunts, sauvegardes, paramétres, ... )chacun avec des sous-menus. donc çà ferait pas mal d'onglets. je sais que excel n'est probablement pas l'outil adéquat pour çà, mais c'est celui que je connais le mieux.

merci à vous

Bonjour à tous,

Ce qui est visible ici, c'est avec un contrôle Multipage, mais si les données sont identiques il y a la possibilité de passer par un TabStrip.
Je sélectionne la page demandée selon l'appui sur un bouton.

Sinon j'en reviens comme d'habitude, à proposer de passer par le ruban,solution esthétique, et plus facile à mettre en place avec de bons outils. Du style Assistant pour Ruban qui est bien abouti. Ou bien, Ribbon Visual Designer en tant que AddIn.

mais je retombais dans de la duplication de code.

Pour cela l'utilisation de fonctions et procédures et primordiale.

peux- tu me passer le fichier exemple?

Ce n'est pas un fichier exemple cela fait parti d'une application.

Si besoin d'un coup de main pour mettre en place une gestion par ruban il ne faut pas hésiter à demander.

bonsoir,

j'ai repris mes tests tant sur le multipage que sur le ruban personalisé. le problème du multipage, c'est que c'est un seul userform, donc une grande partie du code des diiférentes fonctionnalités sera dedans. ce n'est pas forcément trés lisible, même en structurant la présentation du code par fonctionnalités. sur le ruban, ci joint un fichier (sans mise en forme des formulaires, c'est juste pour voir). est ce bien à çà que tu penses Jean-Paul. çà me plait bien mais je suis obligé d'être en non modal pour naviguer avec le ruban (onglet : mes comptes). merci d'avance. pour les outils j'ai une alerte site dangereux pour Ribbon Visual Designer ?

13testavecrubban.xlsm (28.18 Ko)

Bonsoir à tous,

@jvoitu, voilà c'est bien cela, il y a bien plusieurs manières d'aborder l'affichage du ruban, c'est selon son goût.
Un petit exemple joint.

c'est que c'est un seul userform, donc une grande partie du code des diiférentes fonctionnalités sera dedans.

Et les modules ils servent à quoi, je vous le demande ? (Coluche)

c'est que c'est un seul userform, donc une grande partie du code des diiférentes fonctionnalités sera dedans.

Si je me rappelle bien il a poster une mise à jour pour enlever le faux positif.

11testavecrubban.xlsm (38.09 Ko)

Bonjour et grand merci pour le ruban jean-paul, c'est trés bien fait. je n'avais notamment pas pensé à faire un onribbon load. Pour les modules, je sais qu'ils existent, mais il restera quand même du code dans le userform. 18 fonctionnalités avec minimum 3 sous fonctionnalités, çà fait déjà 54 boutons valider par exemple. même si dans chaque cmd_click, j'appelle une procédure qui est dans un module, ce n'est pas forcément pratique, c'est surtout cela que je voulais dire. la solution ruban me plait mieux, mais je pense qu'elle conservera le problème du set focus puisque il faut être en non modal pour cliquer dans la barre d'outils. je vais voir.

un grand merci à tous pour ces idées.

Rechercher des sujets similaires à "cancel true fonctionne pas sortie textbox"