Macro : apparition d'une zone de saisie

Bonjour à tous,

Dans le cadre d'un stage en gestion de production, je réalise un fichier excel permettant aux opérateurs d'entrer des données de production.

J'ai déjà bien avancé dans l'élaboration de mon fichier mais je bloque à la création d'une macro.

Je souhaiterais que cette macro affiche une zone de texte, ou un petit formulaire permettant à l'opérateur de saisir une référence non présente dans la liste déroulante. En la validant, j'aimerais que cette saisie s'ajoute dans la cellule mais aussi dans la plage "Références" pour qu'on puisse la retrouver par la suite dans la liste déroulante.

J'espère avoir été assez clair, pour simplifier les choses et illustrer mes propos, j'ai réalisé un fichier excel.

Je vous remercie d'avance de m'aider.

55me.xlsx (15.23 Ko)

Bonjour

Votre fichier en retour avec une proposition d'ajout par userform.

Eviter les accents et espaces dans vos noms de feuilles et noms définis. Cela ne vous apportera que des problèmes surtout en cas de programmation.

Si ok et terminé, merci lors de votre réponse, de cloturer le fil en cliquant sur le bouton vert à coté du bouton EDITER

Cordialement

161me.xlsm (26.74 Ko)

Ça fonctionne bien, merci DAN !

Je voulais aussi savoir si c'était possible d'insérer une ligne à la fin de mon tableau "Références" dans la feuille 2 avant que la nouvelle référence s'ajoute? Cela permettrait d'ajouter autant de référence que l'on veut dans la liste déroulante de façon automatique


Pour ceux que ça intéresse, j'ai trouvé une réponse à ma dernière question, voici le code :

Sub Ajouter()

Sheets("Donnees_liste_deroulante").Select

'INSERTION D'UNE LIGNE VIERGE EN DESSOUS DU TABLEAU

'Sélection de la dernière cellule du tableau à partir de la cellule E6

Range("E6").CurrentRegion.Rows(Range("D8").CurrentRegion.Rows.Count).Select

'Selection de la cellule +1 (ligne juste en dessous du tableau)

Range("E65536").End(xlUp).Offset(1, 0).Select

'Selectionne la ligne entière à partir de la cellule selectionnée

ActiveCell.EntireRow.Select

'Insère une ligne entière à partir de la ligne selectionnée

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

UserForm1.Show

End Sub

Bonsoir

Pas besoin de code pour insérer une ligne. Il vous suffit de mettre cette formule pour redéfinir le nom REFERENCES (Dans insertion -> Nom-> définir) comme ceci --> =DECALER(Donnees_liste_deroulante!$E$6;;;NBVAL(Donnees_liste_deroulante!E:E)-1;)

Cordialement

Merci, ça me permet de simplifier mon code

Rechercher des sujets similaires à "macro apparition zone saisie"