XL 2019 ouverture d'un UserForm

Toubabou

XLDnaute Impliqué
Bonsoir à tous,
J'ai un UF qui apparait à l'ouverture de mon fichier. Pourriez vous me dire comment faire afin qu'il ne s'ouvre que sur commande ?
Voici le code de l'UserForm:
VB:
Dim témoin

Private Sub CommandButton3_Click()
Selection_Onglets.Hide
End Sub

Private Sub UserForm_Initialize()
   Me.ListBox1.Clear
   For i = 2 To ActiveWorkbook.Sheets.Count
     Me.ListBox1.AddItem Sheets(i).Name
     Me.ListBox1.Selected(i - 2) = Sheets(i).Visible
    
    
    
   Next i
   témoin = True
End Sub
Private Sub ListBox1_change()
  If témoin Then
    For i = 0 To Me.ListBox1.ListCount - 1
      f = ListBox1.List(i)
      Sheets(f).Visible = Me.ListBox1.Selected(i)
      
    Next i
    Sheets(ListBox1.Value).Select
Unload Selection_Onglets
  End If
End Sub

Merci par avance
 
Solution
Bonsoir Toubalou, bonsoir le forum,

Le code de l'UserForm n'est pas utile ici. S'il apparaît à l'ouverture du fichier, tu dois avoir ce type de code dans le composant ThisWorkbook :

VB:
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Il te faut supprimer au moins la ligne UserForm1.Show. Et si elle est seule, tout le code.

Après, le faire ouvrir sur commande... Il y a tellement d'options qu'il faudrait que tu en dises plus.
Tu peux créer un bouton, ou utiliser des événementielles : double-cliquer sur une cellule ou plage, ou clic du bouton droit, etc.
..

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Toubalou, bonsoir le forum,

Le code de l'UserForm n'est pas utile ici. S'il apparaît à l'ouverture du fichier, tu dois avoir ce type de code dans le composant ThisWorkbook :

VB:
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Il te faut supprimer au moins la ligne UserForm1.Show. Et si elle est seule, tout le code.

Après, le faire ouvrir sur commande... Il y a tellement d'options qu'il faudrait que tu en dises plus.
Tu peux créer un bouton, ou utiliser des événementielles : double-cliquer sur une cellule ou plage, ou clic du bouton droit, etc.
..
 

Toubabou

XLDnaute Impliqué
Bonsoir Robert
Merci beaucoup pour cette information. J'ai créé un bouton pour ouvrir cet UserForm

Toubabou
Bonsoir Toubalou, bonsoir le forum,

Le code de l'UserForm n'est pas utile ici. S'il apparaît à l'ouverture du fichier, tu dois avoir ce type de code dans le composant ThisWorkbook :

VB:
Private Sub Workbook_Open()
UserForm1.Show
End Sub
Il te faut supprimer au moins la ligne UserForm1.Show. Et si elle est seule, tout le code.

Après, le faire ouvrir sur commande... Il y a tellement d'options qu'il faudrait que tu en dises plus.
Tu peux créer un bouton, ou utiliser des événementielles : double-cliquer sur une cellule ou plage, ou clic du bouton droit, etc.
..
Non non, je n'ai pas ce genre de ligne de code dans ThisWorkbook, mais:
VB:
Private Sub Workbook_Open()
 Sheets("Acceuil").Activate
 
End Sub
 

Toubabou

XLDnaute Impliqué
Re,

Plutôt que d'y passer des plombes, envoie le fichier qui va bien... On trouvera certainement la raison de cette ouverture inopinée et intempestive, voire le contraire...
Merci Robert, c'est bien gentil . Je viens juste de résoudre le problème.
Pour ouvrir mon USF j'avais un bouton sur lequel la macro suivante était affectée:
VB:
Sub auto_open()
  'F_Onglets.Show
  Selection_Onglets.Show
End Sub
J'ai supprimer cette macro et remplacée par:
Code:
Sub Ouvre_select_onglet()
'
Selection_Onglets.Show
End Sub

Je ne suis pas sûr que ce soit la solution la plus juste, mais maintenant cela fonctionne

BàT
 

Discussions similaires

Réponses
17
Affichages
760