Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC liste de choix dans InputBox

pilou010

XLDnaute Occasionnel
Bonjour à tous,

J'ai joint un fichier pour plus de compréhension...

En cliquant sur "Nouvel évalué" une InputBox s'ouvre pour saisir le nom de la personne et je souhaiterai qu'une liste de choix s’affiche (le tableau 2 de la feuille "à masquée").

J'ai créer le fichier avec l'aide de ce forum car je découvre le VBA mais là je sèche.

Quelqu'un pourrait-il me mettre sur la piste ou me donner une solution ?

Pour info, je fais le fichier de cette façon afin que les onglets soient renommer toujours de la même façon j'exporte ensuite chaque onglets au format .pdf
Je souhaite procéder de cette manière aussi afin d'anticiper le nombre de caractère maxi autorisé (33 je crois).

Je vous remercie par avance

Pilou
 

Pièces jointes

  • Eval2021.xlsm
    27.7 KB · Affichages: 8
Solution
Bonjour pilou010,

Voyez le fichier joint et la macro dans la feuille "Original" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E2:E3]) Is Nothing Or [E2] = "" Then Exit Sub
Dim w As Worksheet
On Error Resume Next
Set w = Sheets(CStr([E2]))
On Error GoTo 0
If w Is Nothing Then
    If [E3] = "" Then [E3].Select: MsgBox "Entrez l'évaluateur...": Exit Sub
    '---création de la feuille---
    With Sheets.Add(After:=Sheets(Sheets.Count))
        .Name = [E2]
        Cells.Copy .[A1] 'copie toutes les cellules
        [A1].Copy .[A1]  'allège la mémoire
        .[E2:E3].Validation.Delete 'supprime les listes
        .[F2:H2].Clear 'supprime les notas
    End With
Else
    w.Activate
End If
End Sub
J'ai supprimé...

job75

XLDnaute Barbatruc
Bonsoir pilou10,

Il ne peut pas y avoir de liste de choix dans une InputBox.

Il faut une ComboBox placée dans un UserForm.

Très nombreux exemples sur le forum.

PS : le nom d'un onglet est limité à 31 caractères.

A+
 

pilou010

XLDnaute Occasionnel
Merci job 75 mais...
J'ai fait l'essai avec une liste de validation cela renomme bien l'onglet mais je n'ai plus la macro dupliquer qui s'exécute et lorsque je clique sur nouvel évalué j'ai une erreur d'exécution puisque le nom existe déjà.

Étrange aussi mais dans Excel pour Mac, je ne trouve pas comment insérer un userform ?
Merci de votre aide
Pilou
 

job75

XLDnaute Barbatruc
Bonjour pilou010,

Voyez le fichier joint et la macro dans la feuille "Original" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E2:E3]) Is Nothing Or [E2] = "" Then Exit Sub
Dim w As Worksheet
On Error Resume Next
Set w = Sheets(CStr([E2]))
On Error GoTo 0
If w Is Nothing Then
    If [E3] = "" Then [E3].Select: MsgBox "Entrez l'évaluateur...": Exit Sub
    '---création de la feuille---
    With Sheets.Add(After:=Sheets(Sheets.Count))
        .Name = [E2]
        Cells.Copy .[A1] 'copie toutes les cellules
        [A1].Copy .[A1]  'allège la mémoire
        .[E2:E3].Validation.Delete 'supprime les listes
        .[F2:H2].Clear 'supprime les notas
    End With
Else
    w.Activate
End If
End Sub
J'ai supprimé tous les noms définis inutiles.

La feuille "Original" est protégée pour qu'elle reste vierge.

A+
 

Pièces jointes

  • Eval2021(1).xlsm
    25.6 KB · Affichages: 3

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…