XL 2016 Demande explication de texte Vba Excel

ReneDav14000

XLDnaute Occasionnel
Bonjour le forum,
Dans une application que je dois modifier j'ai ce code - Pourriez-vous m'expliquer la différence qu'il y a entre vbModal et vbModeless comme dans le code, s'il vous plait ? Et est-ce que je peux remplacer vbModeless par vbModal ?
Merci par avance pour vos éclaircissements.
J'ai cherché sur le Net, il y a beaucoup de codes avec ces deux méthodes mais je n'ai rien trouvé quant à leur différence.

VB:
Private Sub BtContrôle_Click()
    Sheets("BDD").Visible = True
    Sheets("Calcul").Visible = True

    Sheets("BDD").Select

    Ajout.Show vbModeless
End Sub
 
Solution

Phil69970

XLDnaute Barbatruc
Bonjour @ReneDav14000

Tu cliques sur le mot vbMdeless dans VBA et tu tapes la touche F1
Et tu lis :😜

1665763071216.png


Merci de ton retour

@Phil69970
 

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir ReneDav14000, Philippe

Pour compléter le propos de notre ami Phil69970 que je salue, voici un peu plus d'explications :
Par défaut, un UserForm est "modal" ce qui implique que vous ne pouvez pas travailler sur une feuille tant que l'UserForm est ouvert.

En mode "non modal", vous pouvez travailler sur une feuille tout en ayant un UserForm ouvert. Pour cela, ajoutez un "0" à l'ouverture :
Mon_UserForm.Show 0 ou Mon_UserForm1.Show vbModeless

Ou depuis la propriété de l'Usf : ShowModal = False
Bonne soiré
@+Eric c
 

Phil69970

XLDnaute Barbatruc

ReneDav14000

XLDnaute Occasionnel
Ah ok. ça commence à rentrer dans ma petite tête. Je suis désolé de poser des questions aussi basiques, mais je connaissais tout ça, toutefois la maladie m'a joué des tours. Alors je réapprends doucement.
Merci pour vos explications que je vais noter pour ne pas oublier.
 

Phil69970

XLDnaute Barbatruc
Bonjour @Eric C (Que j'ai oublié de saluer tout à l'heure)

Tu as raison mais je reconnais que je n'utilise jamais cette possibilité (et je n'y pense pas non plus), je trouve plus pratique de l'écrire dans le code si VbModeless car par défaut USF est modal

C'est plus facile de mettre :
... rien ou 1 pour modal ==> Mon_UserForm.Show ==> Mon_UserForm.Show 1
ou un 0 pour non modal ==> Mon_UserForm.Show 0

Mais ce n'est que ma pratique qui ne demande qu'à changer o_O

@Phil69970
 

Discussions similaires

Statistiques des forums

Discussions
314 491
Messages
2 110 182
Membres
110 691
dernier inscrit
Marhvax