Sous cellules

Bonjour,

je veux mettre plusieurs données sous forme de tableau dans une seul cellule avec un titre et en cliquant dessus les petit tableau se montre
DÉTAILS :
j'ai une liste de produits avec leurs prix je veux mettre cela sous forme d'un tableau en 2 colonnes "désignation et prix" dans une cellule Nommé articles acheté mais que ça reste caché sauf ci je clique sur la dite cellule
merci de vos repenses je suis coincé

7 réponses

  1. C'était juste pour voir si ça correspondait à ta demande
    Un autre exemple généralisable
    https://www.cjoint.com/?3CyqYx7hO8f

    Cdlmnt
    1
    1. merci beaucoup du me sauve la vie ceci dit je dois bien lire d'avantage sur les macro et comment les écrire psk la je pije pas gros chose
      mais au moins je sais ou chercher merci beacoup
      0
    2. tu**
      0
    3. Bonjour CCM

      Parfait, simple et efficace, je plussoie

      Bien cdlmnt
      0
    4. Merci via55,

      Bonne fin de journée

      Cdlmnt
      0
  2. Contributeur
    Bonjour
    sous forme de tableau, ça m'étonnerait, (quoique? je ne sais pas tout)
    par contre vous pouvez créer un simili tableau en insérant un commentaire
    (clic droit, insérer un commentaire)
    crdlmnt
    0
    1. trop long pour mettre dans un commentaire je cherche quelque chose genre des sous cellules qui se développe quelque chose du genre
      merci
      0
  3. Bonsoir

    Excel a prévu le cas :
    Selectionner les cellues du tableau puis Onglet Données et Grouper tu as ensuite - ou + pour masquer ou démasquer

    Cdlmnt
    0
    1. merci ceci dit quand je fait ça il me supprime la ligne entière or ce que je veux est une cellules au mieux d'autres cellules qui contiens un tableau
      EX. date montant libellé fournisseur
      des fois y as plusieurs article dans la cellule libellé et chaque article a son prix
      sachant que je veux juste affiché le total de chaque achat et le détails reste caché juste en cas de besoin
      0
    2. @icephenixRe

      Tu ne peux pas cacher que quelques cellules, on peut cacher une (ou plusieurs ) ligne(s) ou une (ou plusieurs) colonne(s) entières

      Par contre ce qui peut être possible c'est d'avoir le tableau sur une autre feuille et en faire apparaitre l'image au clic dans une cellule

      Postes un exemple de ton fichier (en indiquant les cellules que tu veux faire apparaitre) sur cjoint.com et reviens ici indiquer le lien fourni, on verra mieux ce qu'il est possible

      Cdlmnt
      0
    3. @via55https://www.cjoint.com/?0CyooF4EzJb
      voila mon fichier je veux mettre le petit tableau dans "feuil 1" dans la cellule "Articles toitures " de la feuil "bons" je veux que "article toiture" reste comme juste un titre et quand je clique dessus j'obtiens les détails
      merci c'est vraiment important
      0
    4. @icephenixBonjour

      Le plus simple créer un lien hypertexte vers la Feuille avec le tableau :
      Clic droit dans la cellule d'Articles toiture Lien hypertexte Emplacement dans ce document et sélectionner la Feuil1

      Sinon il faut passer par une image avec l'appareil photo et une macro

      Cdlmnt
      0
  4. Bonjour

    Peut être un début de solution via (salut à toi 55 ) une macro.
    https://www.cjoint.com/?3CypfuATQOm

    Cdlmnt
    0
    1. c'est exactement ça merci
      mais comment ta fais ??
      0
  5. - * ?
    Si tu as besoin d'explications, tu dis, mais ça ne sera pas pour tout de suite
    Bonne fin de journée
    0
    1. merci beacoup je vais mieux etudié les macro merci infiniment
      0
    2. es possible de faire la même chose sur accès svp
      je pense que sa serai plus pratique de crées une base de données sur accès que sur excel du moment que j'ai pas de calcul
      merci
      0
    3. Il y a des chances, mais sur Acces, je ne suis pas compétent

      Bonne journée
      0
    4. t'as fait comment pour écrire cette macro?
      0
  6. Ben, j'ai tapé sur le clavier

    Plus sérieusement, le code commenté, mais pour acces, je ne peux rien pour toi

    Option Explicit
    
    ' Feuille BONS
    Const lideb = 10      ' premiere ligne
    Const co = "E"        ' colonne à cliquer
    
    ' Feuille "tableaux"
    Const FD = "Feuil1"   ' nom de la feuille
    Const coD = "A"       ' colonne montant
    Const coE = "B"       ' colonne libelle
    Const ht = 12.75      ' hauteur d'une ligne de la listbox - à adapter
    
    ' cette fonction renvoie l'adresse du tableau - s est le contenu de la cellule cliquée
    Public Function AdrPlage(s As String) As String
    Dim obj As Object, li1 As Long, li2 As Long, lifin As Long
    ' cherche s dans la colonne coD de la feuille FD
    Set obj = Sheets(FD).Columns(coD).Find(s, , , xlWhole)
    ' si s non trouvé renvoie une chaine vide
    If obj Is Nothing Then
      AdrPlage = ""
    ' sinon
    Else
      ' li1 est la ligne dans FD où s a été trouvé
      li1 = obj.Row
      ' lifin est la dernière ligne non vide de la colonne coD (feuille FD)
      lifin = Sheets(FD).Range(coD & Rows.Count).End(xlUp).Row
      ' recherche de la ligne de fin du tableau : li2
      ' initialisation de li2
      li2 = li1 + 1
      ' tant que li2<= lifin et que la cellule (li2,coD) n'est pas vide on in cremebnte li2
      While Sheets(FD).Range(coD & li2) <> "" And li2 <= lifin
        li2 = li2 + 1
      Wend
      ' la plage commence en ligne li1+1 et se finit en li2 ( sur 2 colonnes coD et coE)
      AdrPlage = Sheets(FD).Range(coD & li1 + 1 & ":" & coE & li2).Address
    End If
    End Function
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim des As String, adr As String, nbli As Long, lifin As Long
    ' si la cellule cible est en colonne co
    If Not Intersect(Target, Columns(co)) Is Nothing Then
      ' si la ligne cliquée est avant lideb on quiite sans rien faire
      If Target.Row < lideb Then Exit Sub
      ' sinon
      ' des = contenu de la cellule cliquée
      des = Target.Value
      ' adr = adresse du tableau correspondant calculé par la fonction AdrPlage
      adr = AdrPlage(des)
      ' si adr vide - des non trouvé - on quitte sans rien faire - on peut faire apparaitre un message d'erreur
      If adr = "" Then MsgBox "Erreur": Exit Sub
      ' remplissage et formatage de la listbox
      With ListBox1
        ' ListFillRange est l'adresse du tableau
        .ListFillRange = FD & "!" & adr
        ' nombre de lignes du tableau
        nbli = Sheets(FD).Range(adr).Rows.Count
        ' alignement de la listbox à gauche et sous la cellule cliquée
        .Left = Target.Left
        .Top = Target.Top + Target.Height + 5
        ' hauteur de la listbox - c'est là qu'il faudra peut être modifier ht
        ListBox1.Height = nbli * ht
        ' si la listbox est visible on a cache sinon on la montre
        ListBox1.Visible = Not ListBox1.Visible
        ' on passe à la ligne suivante pour debloquer le curseur
        Target.Offset(1, 0).Select
      End With
    End If
    End Sub
    

    Bon courage
    0
    1. merci beacoup je vais essayé de l'étudie un peut pour voir si je pourrai un jour en crée moi même une macro
      PS c'est bien plus compliqué que je ne le pensais
      0
    2. dit moi stp ce que tu a écrit est une macro ou juste un programme psk je la vois pas dans la liste des macros
      0