PB de déplacement de la feuille excel lors du lancement de la useform

  • Initiateur de la discussion thuan
  • Date de début
T

thuan

Guest
Bonjour j'ai un petit pb mais je sais pas trop comment faire pour le résoudre, voila le pb.
Je lancement ma useform et donc elle marche mais lorsque qu'elle apparait je n'arrive pas à me déplacer sur ma feuille excel je voudrai pouvoir me dplacer sur ma feuille autant que je veux et surtout pouvoir afficher ma useforme à un endroit précis.
voici mon code:
Private Sub ComboBox1_Change()
Select Case ComboBox1.ListIndex
Case 0:
Worksheets(1).Activate
Case 1:
Worksheets(2).Activate
Case 2:
Worksheets(3).Activate
Case 3:
Worksheets(4).Activate
Case 4:
Worksheets(5).Activate
Case 5:
Worksheets(6).Activate
Case 6:
Worksheets(7).Activate
Case 7:
Worksheets(8).Activate
Case 8:
Worksheets(9).Activate
Case 9:
Worksheets(10).Activate
Case 10:
Worksheets(11).Activate
End Select
End Sub
Private Sub CommandButton1_Click()
WSCol.Activate
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte

With ComboBox1
For i = 33 To 33
.AddItem Sheets("Moteur Porte Meule").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Moteur Porte Pièce").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Moteur de Taillage").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Broche Porte Meule").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Broche Porte Pièce").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("CourroiePortePièceBlocRenvoi").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Ensemble Bloc Renvoi").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("CourroieBlocRenvoiBlocSerrage").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Bloc Serrage").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Palier Intermédiaire Taillage").Range("C" & i)
Next
For i = 33 To 33
.AddItem Sheets("Porte Molette Taillage").Range("C" & i)
Next
End With
End Sub


De plus j'aimerais que la useforme se lance automatiquement et se met à jour lorsque j'ouvre mon dossier excel,
si vous savez aussi comment je peux faire pour supprimer la mise à jour de ce lien qui me demande aux démarrage ca serait cool

MERCI
 
M

Minick

Guest
Salut,

Pour pouvoir faire ce que tu veux il suffit d'afficher ton USF en mode non modal: UserForm1.Show False
Ensuite tu peux placer le USF à l'endroit que tu veux et tu travailles sur ton classeur.

Pour que ton USF s'affiche dès l'ouverture du classeur il faut que tu cliques dans VBE sur ThisWorkbook dans la fenetre Projet - VBAProject,
puis dans la partie droite de l'ecran en haut tu sélectionnes Workbook dans le Combo de gauche, complete le code pré-inscrit comme ceci:
Private Sub Workbook_Open()
UserForm1.Show 0
End Sub

Comme cela à chaque ouverture du classeur tu vas afficher ton USF en mode non modal.

De plus je me permet de te faire une suggestionde code afin de simplifier le code que tu as mi en ligne:
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex <> -1 Then Worksheets(ComboBox1.ListIndex + 1).Activate
End Sub

Private Sub CommandButton1_Click()
WSCol.Activate
Unload UserForm1
End Sub

Private Sub UserForm_Initialize()
Dim i As Integer

i = 33
With ComboBox1
.AddItem Sheets("Moteur Porte Meule").Range("C" & i)
.AddItem Sheets("Moteur Porte Pièce").Range("C" & i)
.AddItem Sheets("Moteur de Taillage").Range("C" & i)
.AddItem Sheets("Broche Porte Meule").Range("C" & i)
.AddItem Sheets("Broche Porte Pièce").Range("C" & i)
.AddItem Sheets("CourroiePortePièceBlocRenvoi").Range("C" & i)
.AddItem Sheets("Ensemble Bloc Renvoi").Range("C" & i)
.AddItem Sheets("CourroieBlocRenvoiBlocSerrage").Range("C" & i)
.AddItem Sheets("Bloc Serrage").Range("C" & i)
.AddItem Sheets("Palier Intermédiaire Taillage").Range("C" & i)
.AddItem Sheets("Porte Molette Taillage").Range("C" & i)
End With
End Sub


Voila en esperant repondre à ton probleme

@+ Minick
 

Discussions similaires

Réponses
11
Affichages
281
Réponses
4
Affichages
194

Statistiques des forums

Discussions
312 104
Messages
2 085 345
Membres
102 868
dernier inscrit
JJV