UserForm de navigation

  • Initiateur de la discussion Initiateur de la discussion Dekoy
  • 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 !

D

Dekoy

Guest
Bonsoir à tous,
je souhaiterais créer une userform qui s'affiche dès l'ouverture du fichier.
Ce userform doit me permettre de choisir l'onglet à afficher avec une combobox et me permettre d'atteindre une ligne particulière de cet onglet avec une autre combobox.
Tout cela est déja pas mal réalisé mais je n'arrive pas à afficher le userform dès l'ouverture du fichier et à atteindre une cellule particulière.
Merci d'avance pour votre aide.
 

Pièces jointes

Re : UserForm de navigation

Bonjour,

Essayez avec les codes suivants

1) code à copier dans la fenêtre de code du UserFom (et qui remplace le code existant)
Code:
Dim m As String

Private Sub ComboBox1_Change()
m = ComboBox1.Value
With Sheets(m)
  .Activate
  .[a1].Select
End With
ComboBox2.ListIndex = -1
End Sub
Private Sub ComboBox2_Change()
Dim i As Long
With Sheets(m)
  For i = 1 To .[a65536].End(xlUp).Row
    If .Cells(i, 1).Value = ComboBox2.Value Then
       .Cells(i, 1).Select
      Exit For
    End If
  Next i
End With
End Sub
Private Sub UserForm_Initialize()
Dim S As Worksheet
Dim var
Set S = ThisWorkbook.Sheets("PDG")
var = S.Range("a2:a" & S.[a1].End(xlDown).Row & "")
ComboBox1.List = var
var = S.Range("b2:b" & S.[b1].End(xlDown).Row & "")
ComboBox2.List = var
End Sub

2) code à copier dans la fenêtre de code de ThisWorkbook
Code:
Private Sub Workbook_Activate()
UserForm1.Show vbModeless
End Sub

Private Sub Workbook_Deactivate()
Unload UserForm1
End Sub

Cordialement.

PMO
Patrick Morange
 
Re : UserForm de navigation

Merci pour tout.
Petite question pour aller un peu plus loin:
est-il possible que la cellule que je pointe se trouve en haut de l'écran (que la ligne 50 soit la première en haut par exemple)??
Merci d'avance
 
Re : UserForm de navigation

Bonjour,

est-il possible que la cellule que je pointe se trouve en haut de l'écran (que la ligne 50 soit la première en haut par exemple)??

Changez le code de la procédure "ComboBox2_Change" par le code suivant
Code:
Private Sub ComboBox2_Change()
Dim i As Long
With Sheets(m)
  For i = 1 To .[a65536].End(xlUp).Row
    If .Cells(i, 1).Value = ComboBox2.Value Then
       .Cells(i, 1).Select
       
'/// modif (cellule en haut) ///
       ActiveWindow.ScrollRow = i
'//////////////////////////////
       
      Exit For
    End If
  Next i
End With
End Sub

Cordialement.

PMO
Patrick Morange
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2019 User Form
Réponses
9
Affichages
528
  • Question Question
Microsoft 365 Aide planning
Réponses
17
Affichages
630
Retour