Colonne "récapitulatif commande" Excel qui se génère automatiquement

Pims75 Messages postés 2 Statut Membre -  
Pims75 Messages postés 2 Statut Membre -
Bonjour a tous,

Je suis un chef d'entreprise vendant des produits alimentaires.

J'ai créé un tableau excel afin de suivre l'évolution de mes stocks en fonction des entrées de marchandises (fournisseurs) et des ventes.

Cf le tableau ci dessous.

Afin d'avoir une lecture simplifiée de mon tableau (J'ai 60 références et cela croit chaque semaine) et m'assurer que je ne fais pas d'erreur lors de son remplissage (au moment de chaque vente), je souhaiterais savoir s'il y a un moyen de rajouter une colonne "récapitulatif commande" (a droite du nom du client) qui se remplirait automatiquement avec le nom et la quantité des produits sélectionnés.
Exemple:
1 Pollo en salsa tamarindo
1 soupe de tomate
2 helados de chocolate
Etc.

Je vous remercie pour votre aide.

Désolé je vends ces produits au Mexique, d'ou le tableau en espagnol.

Configuration: Macintosh / Chrome 72.0.3626.109

2 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Le problème avec une cellule c'est que sa hauteur doit changer en fonction du nombre d'article.
    Je te propose un autre solution : utiliser un commentaire qui apparait quand tu cliques sur le nom, généré par une macro VBA dans le module de la feuille concernée :
    Option Explicit
    Dim mem As Range
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim tbl As Variant
    Dim txt As String
    Dim col As Integer
      If Not mem Is Nothing Then mem.ClearComments
      Set mem = Nothing
      If Target.Column <> 5 Or IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
      tbl = Intersect(Me.UsedRange, Me.UsedRange.Offset(0, 6)).Value
      For col = LBound(tbl, 2) To UBound(tbl, 2)
        If Val(tbl(Target.Row, col)) > 0 Then
          txt = txt & Val(tbl(Target.Row, col)) & " " & tbl(1, col) & Chr(13) & Chr(10)
        End If
      Next
      If txt > "" Then txt = Left(txt, Len(txt) - 2)
      With Target
        .AddComment
        .Comment.Visible = True
        .Comment.Text Text:=txt
        .Comment.Shape.TextFrame.AutoSize = True
      End With
      Set mem = Target
    End Sub

    Exemple :
    https://mon-partage.fr/f/gKBezm4l/

    0
  2. Pims75 Messages postés 2 Statut Membre
     
    Un grand merci pour votre réponse, c'est exactement ce dont j'ai besoin.
    Je vais essayer de le mettre en place des maintenant.

    Encore merci pour votre aide.

    Bien cordialement
    0