Réaliser une activation de feuille sur VBA
golock91
Messages postés
1
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aurais besoin d'un coup de main pour réaliser une box sur excel
J'ai un fichier excel avec en page 1 une liste de noms
Ensuite il y a autant de pages que de noms
Quand j'entre le nombre d'heures réalisées par Mr X sur la page de Mr X, automatiquement, le nombre d'heures est ajouté à Mr X en page récapitulative, jusqu'ici assez simple
Ce que je voudrais faire c'est qu'au moment ou j'ouvre excel, en appuyant sur un bouton, une box s'ouvre et me demande le nom de la personne (si possible en tapant les 3 premières lettres j'ai tous les noms commençant par ces lettres qui s'affichent) et qu'une fois le nom sélectionné, sa page s'ouvre automatiquement.
Ceci me permettrait de ne pas chercher à chaque fois la bonne feuille car il y a pas mal de noms.
Merci d'avance
Je peux vous envoyer le fichier par mail si besoin
J'aurais besoin d'un coup de main pour réaliser une box sur excel
J'ai un fichier excel avec en page 1 une liste de noms
Ensuite il y a autant de pages que de noms
Quand j'entre le nombre d'heures réalisées par Mr X sur la page de Mr X, automatiquement, le nombre d'heures est ajouté à Mr X en page récapitulative, jusqu'ici assez simple
Ce que je voudrais faire c'est qu'au moment ou j'ouvre excel, en appuyant sur un bouton, une box s'ouvre et me demande le nom de la personne (si possible en tapant les 3 premières lettres j'ai tous les noms commençant par ces lettres qui s'affichent) et qu'une fois le nom sélectionné, sa page s'ouvre automatiquement.
Ceci me permettrait de ne pas chercher à chaque fois la bonne feuille car il y a pas mal de noms.
Merci d'avance
Je peux vous envoyer le fichier par mail si besoin
1 réponse
-
Bonjour,
Sous VBA, créer un UserForm (Insertion / Userform sous vbe) appelé userForm1.
Dans cet Userform, dessiner un textBox appelé : ZtxtNOMS et une listbox appelée : ListboxNOMS.
Appeler = propriété "Name" de chaque contrôle
Dessiner un bouton de commande appelé : CommandButton1 avec en propriété "caption" : Go (ou ce que vous voulez)...
D'après un exemple de Michel_m :
Le code de l'Userform :
Option Explicit Private Sub CommandButton1_Click() If ListboxNOMS.ListIndex = -1 Then MsgBox "Veuillez sélectionner un nom dans la liste. Merci." Exit Sub End If Sheets(ListboxNOMS.List(ListboxNOMS.ListIndex)).Activate UserForm2.Hide End Sub Private Sub ZtxtNOMS_Change() 'cf : https://forums.commentcamarche.net/forum/affich-14847865-recherche-semi-auto-dans-excel Dim Tablo Dim lettre As String, test As String Dim cptr As Integer, cptr_tablo As Integer, derLig As Integer lettre = UCase(ZtxtNOMS.Value) If lettre = "" Then Exit Sub ReDim Tablo(0) ListboxNOMS.Clear derLig = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row With Sheets("Feuil1") For cptr = 1 To derLig test = .Cells(cptr, 1) If .Cells(cptr, 1) Like lettre & "*" Then Tablo(cptr_tablo) = .Cells(cptr, 1) cptr_tablo = cptr_tablo + 1 ReDim Preserve Tablo(cptr_tablo) End If Next End With For cptr_tablo = LBound(Tablo) To UBound(Tablo) ListboxNOMS.AddItem Tablo(cptr_tablo) Next End Sub
Le fichier exemple sisi c'est gratuit, ça fait plaisir!