désactiver fermeture dans userform

  • Initiateur de la discussion Initiateur de la discussion sigma
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sigma

XLDnaute Occasionnel
bonjour à tous,
2 petits soucis me font venir vers vous.

1 j'ai une user form avec 2 bontons (valider et annuler) et j'aimerai ôter ou rendre passive la croix rouge pour qu'on ne puisse pas l'utiliser.

2 dans un troisieme onglet, je voudrais faire le récapitulatif des 2 onglets précédents, l'opération fonctionne sur le premier ou sur le deuxième séparément mais je n'arrive pas à la faire fonctionner ensemble.

voici le bout de code que j'utilise mais il ne prend en compte que le dernier onglet.

Application.ScreenUpdating = False
Sheets('onglet 1').Select
Sheets('onglet 2').Select
Dim tmp_tab(500, 8) As String
Dim tmp_titre(50) As String

existe t'il un fonction Sheets('onglet 1').Select + Sheets('onglet 2').Select ?

merci à vous et bonne journée à tous.

A+
 
Hello le Forum, Sigma,

Alors pour ton problème 1 :

Copie/Colle ce code dans un module :

Option Private Module
Declare
Function GetWindowLongA Lib 'User32' _
    (ByVal hWnd
As Long, ByVal nIndex As Long) As Long
Declare
Function SetWindowLongA Lib 'User32' _
    (ByVal hWnd
As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare
Function FindWindowA Lib 'User32' _
(ByVal lpClassName
As String, ByVal lpWindowName As String) As Long

'Moyen de ne pas avoir la CROIX DE FERMETURE sur les UserForms
'=========================================================================

Sub PasDeCroix(USF As UserForm)
Dim hWnd      As Long
    hWnd = FindWindowA('Thunder' & IIf(Application.Version
Like '8*', _
                        'X', 'D') & 'Frame', USF.Caption)
    SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
End Sub

Ensuite dans le procedure d'initialisation de ta userform tu mets ca :

Private Sub UserForm_Initialize()
PasDeCroix Me

End Sub

et voila ...
 
Bonjour

Si tu veux juste désactiver la croix tu peux faire (elle sera toujours visible mais ne fermera plus le userform)

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

If CloseMode = vbFormControlMenu Then Cancel = True

End Sub


Bon courage
 
re,

j'ai 2 onglets de structure identique, le premier me sert de suivi pour des plans d'action, et j'archive mes données sur le second lorsque je le désire.
mon 3e onglet me sert à réaliser le récapitulatif par mois des 2 premiers.

le récapitulatif fonctionne sur chaque page différemment mais je n'arrive pas à donner l'ordre de choisir les 2 feuilles en même temps.

ex :
Sheets('onglet 1').Select
Dim tmp_tab(500, 8) As String
Dim tmp_titre(50) As String

fonctionne parfaitement pour faire le récap de l'onglet 1 mais comment faire pour qu'excel aille chercher les données dans les 2 onglets sachants qu'ils sont identiques.

Ne peut on pas par exemple définir une plage d'onglet (1 et 2)?

j'espère avoir été plus clair, merci.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
58
Affichages
6 K
Retour