Excel: Transposer une Matrice sous forme de liste

Résolu
Hekiz Messages postés 15 Statut Membre -  
Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   -


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. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    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. Hekiz Messages postés 15 Statut Membre
       
      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. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Bonjour,
    Merci pour le fichier.
    Votre réponse à ma question ??? Question: d'où proviennent les valeurs colonne 'DS? de la liste?
    0
    1. Hekiz Messages postés 15 Statut Membre
       
      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. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    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. Hekiz Messages postés 15 Statut Membre
       
      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. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    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. Hekiz Messages postés 15 Statut Membre
       
      Oui ca fonctionne mieux comme ca
      Merci beaucoup.
      your are the King of Excel.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Merci, content pour vous
    0
    1. Hekiz Messages postés 15 Statut Membre
       
      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
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  8. Hekiz Messages postés 15 Statut Membre
     
    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
  9. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    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. Hekiz Messages postés 15 Statut Membre
       
      1000x Merci à vous 2
      vous êtes top
      0
  10. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Merci, pensez de marquer comme résolu si c'est le cas!
    0