Excel: Transposer une Matrice sous forme de liste

Résolu


Bonjour,

Je construis une liste de dépendance en partant d'une matrice de dépendance.
J'aimerais savoir comment faire à partir de la matrice, transposer automatiquement les donnés des cellules non vides (avec les données annexes). comme dans la pircture ci-dessous.
afin que mon tableau se remplisse des que j'ajoute une lettre dans la matrice.

Ca ne sera pas facile je pense.

Merci pour votre aide.

Hekiz

Configuration: Windows / Chrome 92.0.4515.159

9 réponses

  1. Bonjour,
    Question: d'où proviennent les valeurs colonne 'DS? de la liste?
    Je pense qu'il faut passer par VBA, est-il possible de mettre le fichier, qui correspond à votre image, sur https://www.cjoint.com/ et poster le lien!
    0
    1. Bonjour
      Je veux qu elles se s'ajoutent automatiquement à chaque fois qu'une ligne s'ajoute.
      https://www.cjoint.com/c/KKzoASHqSJb
      Merci pour ton aide
      0
  2. Bonjour,
    Merci pour le fichier.
    Votre réponse à ma question ??? Question: d'où proviennent les valeurs colonne 'DS? de la liste?
    0
    1. Les valeurs DS, c'est un nom qui s'incrémente du fait qu'une ligne s'ajoute (elles proviennent de nul part)
      DS001 = Dépendance 1
      ...
      C est la numérotation des dépendances mais je peux donner un autre nom.
      Mais je veux le paramétrer pour que "DS"+ incrémentation du num ce face automatiquement.
      0
  3. Bonjour,
    Voici ma proposition.
    Dès que vous activez la feuille avec la liste [Feuil1] la mise à jour se fait.
    Note: vous aviez un tableau structuré pour la liste, n'est vraiment pas utile dans ce cas; je les converti en plage.
    Le classeur: https://www.cjoint.com/c/KKzrvmFiMJn
    0
    1. Ca m'a l'air extraordinaire ce que vous avez fait en si peu de temps.
      Je vais ajouter toutes mes affaire autour de ca car ma matrice est vraiment grande et aussi je vais pouvoir ajouter des colonne au tableau et des graph de statu.

      J ai une petite remarque svp
      quand je le met sous forme de tableau: à chaque ligne ajouté, il y a une ligne vide au-dessus qui se créer.

      0
  4. Bonjour,
    Je vous ai mis cette remarque:
    Note: vous aviez un tableau structuré pour la liste, n'est vraiment pas utile dans ce cas; je l'ai converti en plage.
    Alors arrêter d'utiliser un tableau structuré et travaillé toujours avec une plage de données comme dans mon exemple et je pense vous n'aurai plus le problème de ligne ajouté
    0
    1. Oui ca fonctionne mieux comme ca
      Merci beaucoup.
      your are the King of Excel.
      0
  5. Merci, content pour vous
    0
    1. Bonjour Le Pingou,



      Là j'ai complété ma matrice mais il y a une dernière chose que je n'arrive pas à faire.
      quand j'ajoute des colonnes supplémentaires dans la Matrice je n'arrive pas à modifier le code pour que ca me les prennent en compte.
      Pour les lignes ca fonctionne correctement par contre.
      pouvez-vous aidez ? svp

      je vous joint la matrix dans le lien ci-dessous.

      https://www.cjoint.com/c/KKAqQTvDJ8b

      Merci

      Hekiz
      0
  6. Bonjour

    En attendant le retour de Le Pingou (salut amical au passage) essaie ceci
    1. Tu ajoutes la ligne
    deli = shm.Cells(Rows.Count, 2).End(xlUp).Row
    deco = shm.Cells(2, Columns.Count).End(xlToLeft).Column
    2. puis plus loin
    For dr = 4 To deco

    avec un peu de chance, ça ne devrait pas être loin du compte

    Cdlmnt
    0
    1. Merci ccm81
      J ai essayé et ca ne fonctionne pas.

      Est ce que je doit ajouter
      deco = shm.Cells(2, Columns.Count).End(xlToLeft).Column

      etre:
      deli = shm.Cells(Rows.Count, 2).End(xlUp).Row
      et
      nbc = Application.CountA(shm.Range("d" & li & ":R" & deli))
      ?
      0
      1. Bonjour,
        Merci ccm81 pour la proposition qui est correct.
        Eh bien il fallait encore corriger 2 autres lignes de code pour les variables [nbc] et [n]
        Le classeur avec correction : https://www.cjoint.com/c/KKAwtaxgcZn
        0
        1. 1000x Merci à vous 2
          vous êtes top
          0
      2. Merci, pensez de marquer comme résolu si c'est le cas!
        0