XL 2019 Codes automatique pour les noms des Articles

Htracy

XLDnaute Nouveau
Bonjour Chers Tous !

Je suis en apprentissage et j'ai été confronté à une difficulté peut-être mineure pour certains...
Le problème est qu'il m'est demandé d'utiliser une formule soit un code VBA de telle sorte que :

1) lorsque je saisie un code existant, que les informations déjà saisies ultérieurement sur les deux cellules suivantes apparaissent automatiquement ou
2) lorsque je saisie un nouveau code que les informations saisies sur les deux cellules suivantes soient stoquées de telle sorte qu'elles soient utilisées lorsque je vais encore reprendre ce code.

Besoin d'aide s'il vous plaît !

Le fichier est là
 

Pièces jointes

  • Nom d'article automatique.xlsm
    10.4 KB · Affichages: 6

R1-

XLDnaute Junior
Bonjour,

Si j'ai bien compris, tu veux faire la saisie est l'affichage dans le même tableau ?
Si c'est le cas, la façon la plus adaptée est de passer par une macro. Sinon, tu peux passer par la fonction rechercheV mais tu devras créer un second tableau qui te servira de tableau de référence, et c'est ce second tableau que tu devras remplir avec les nouvelles références.
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,

J'ai rajouté la formule RECHERCHEV dans la colonne 2 de l'onglet Exemple ;
Créé un onglet nommé Base qui reprend les données dans un tableau structuré.
Si dans l'onglet Exemple, tu ajoutes une référence qui n'existe pas dans la base, une ligne se rajoute automatiquement dans la base et il est demandé à l'utilisateur de taper le libellé de la nouvelle référence. Après validation, la base est mise à jour et les prochaine fois que la référence sera tapée dans Exemple, la référence suivra...
Le code de l'événementielle Change dans le composant Feuil1 (EXEMPLE) :

VB:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim TE As ListObject 'déclare la variable TE (Tableau structuré Exemple)
Dim OB As Worksheet 'déclare la variable OB (Onglet Exemple)
Dim TB As ListObject 'déclare la variable TB Tableau structuré Base)
Dim BE As String 'déclare la variable BE (Boîte d'Endrée)

Set TE = Me.ListObjects(1) 'définit la tableau structuré TE
'si le changement a lieu ailleurs que dans la colonne 1 du tableau strucrturé TE, sort de la procédure
If Application.Intersect(Target, TE.ListColumns(1).Range) Is Nothing Then Exit Sub
If Application.WorksheetFunction.IsNA(Target.Offset(0, 1).Value) Then 'condition : si la cellule en colonne 2 renvoie l'erreur "NA#"
    Set OB = Worksheets("Base") 'définit l'onglet OB
    Set TB = OB.ListObjects(1) 'définit le tableau structuré TB
    TB.ListRows.Add 'ajoute une ligne au tableau structuré TB
    TB.DataBodyRange(TB.ListRows.Count, 1) = Target.Value 'récupère la référence produit dans la colonne 1 de TB
    BE = InputBox("taper le libellé de la nouvelle référence.") 'définit la boîte d'entrée BE
    TB.DataBodyRange(TB.ListRows.Count, 2) = BE 'renvoie BE dans la colonne 2 de TB
End If 'fin de la condition
End Sub
 

Pièces jointes

  • HTracy_ED_v01.xlsm
    20.6 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40