Excel: Transposer une Matrice sous forme de liste

Résolu/Fermé
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021 - 2 déc. 2021 à 20:28
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021 - 29 déc. 2021 à 14:40
Bonjour à tous,

J ai un petit bug dans le programme à résoudre.
Une des personne du forum (Pingou) m'a beaucoup aidé à monté ma matrix. Merci Pingou.
Cependant j'ai un petit bug qui subsiste.

- Quand je remplis ma matrice de dépendance, j ai une liste (dans un autre onglet) qui s'incrémente automatiquement en venant chercher les l'informations associées.
- Dans la liste qui est sous forme de tableau il reste des colonne que je peux remplir manuellement.

Problème:
Apres avoir remplis les colonne H and up de la liste, je retourne dans la matrice pour remplir d'autres champs.
et quand je reviens sur la liste, tous les commentaires de la colonne H and up ont disparues.



Voici le code:

Option Explicit
Sub TransListe()
Dim shm As Object, tb As Object
Dim deco As Long, deli As Long, n As Long, nbc As Long
Dim li As Integer, lli As Integer, lit As Integer, dr As Integer
Dim liste() '1 To 10, 1 To 6)
li = 4: lli = 1
Set shm = Sheets("Dependency Matrix")
deli = shm.Cells(Rows.Count, 2).End(xlUp).Row
deco = shm.Cells(2, Columns.Count).End(xlToLeft).Column
nbc = Application.CountA(shm.Range(shm.Cells(li, 4), shm.Cells(deli, deco)))
ReDim liste(1 To nbc, 1 To 6)
With shm
Do While .Cells(li, 2) <> ""
n = Application.CountA(.Range(.Cells(li, 4), .Cells(li, deco)))
If n <> 0 Then
For dr = 4 To deco
If .Cells(li, dr) <> "" Then
liste(lli, 1) = "DS" & Format(lli, "000")
liste(lli, 2) = .Cells(li, 2)
liste(lli, 3) = .Cells(li, 3)
liste(lli, 4) = .Cells(li, dr)
liste(lli, 5) = .Cells(3, dr)
liste(lli, 6) = .Cells(2, dr)
lli = lli + 1
End If
Next dr
End If
li = li + 1
Loop
End With
Set tb = Range("Tableau3")
If tb.Item(1, 1) <> "" Then tb.Delete
lit = tb.Row
Sheets("Dependency Liste").Cells(lit, 2).Resize(UBound(liste, 1), UBound(liste, 2)).Value = liste
Set shm = Nothing
Set tb = Nothing
End Sub

Merci de votre aide

Hekiz
A voir également:

8 réponses

ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié le 2 déc. 2021 à 21:12
Bonjour

En attendant (décidément) le retour de Le Pingou, to pb vient d'ici
Set tb = Range("Tableau3")
If tb.Item(1, 1) <> "" Then tb.Delete
Tableau3 devrait se limiter aux colonnes A:G sinon ....
Dans une version précédente le nettoyage était assuré par la ligne
Sheets("Dependency Liste").Range("B3:G1000").ClearContents

Cdlmnt et salutations à l'ami Le Pingou
0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
2 déc. 2021 à 22:42
Merci ccm81

j ai essayé
Set tb = Range("Tableau3")
If tb.Item(1, 1) <> "" Then Range("B3:G1000").ClearContents

ca n efface plus les commentaires mais les commentaire ne suivent pas les lignes qui s incrémentent.

Exemple:
A la ligne DS001 j'écrie "comment 1" a la colonne H
mais si dans la matrice j'enlevé la donné que j'ai inscrit associer a DS001, le commentaire reste et se met automatiquement sur les donner qui était sur DS002 mais maintenant qui est passé à DS001

Ca me fait mal au crane, lol

merci en tout cas pour le support

Hekiz
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431 > Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
3 déc. 2021 à 06:47
Bonjour,
J'ai mentionné dans le poste 2 qu'il faut une autre procédure , alors c'est clair que ce que vous avez essayé ne donne aucun résultat.
Salutations.
Le Pingou
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
2 déc. 2021 à 21:42
Bonjour ccm81, Hekiz,
Eh bien oui, je n'ai pas pris en compte l'ajout de données manuelles sur la liste.
Je pense à une autre procédure pour en tenir compte du tableau structuré qui s'allonge de 5 colonnes.
Pour le nettoyage, une fois pour plage de données et l'autre pour le tableau structuré avec lequel le demandeur désire poursuivre
Hekiz voir mp.
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
Modifié le 3 déc. 2021 à 08:51
Bonjour Hekiz,
Je vous laisse essayer cette version, merci du retour pour que je finalise la procédure.
Le fichier : https://www.cjoint.com/c/KLdhYWaMZzn

0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
3 déc. 2021 à 16:43
WOW c'est impressionnant !!!
:) :) :)
Merci pour votre aide.
Ca m'a l'aire de très bien fonctionner.

Merci à vous.

Hekiz
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
Modifié le 3 déc. 2021 à 18:26
Merci, content pour vous.
Je laisse la version tel quel, vous revenez si problème.
Note: la feuille [Feuil1] peut être supprimée, elle ma servie pour trouver une procédure correcte.

0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
23 déc. 2021 à 06:23
Bonjour Pingou,

J'utilise la Matrice de dépendance depuis quelque semaines déjà, et ca va très bien.
la semaine dernière, j'ai eu un bug dans le code mais je n'arrive pas à le corriger malgré les multiple tentatives.
quand j'inscris quelque chose dans la sheet "dependancy liste" dans la colonne description et si apres le vais modifier la sheet " dependancy matrix".
quand je reviens dans la sheet "dependancy liste" j ai une erreur du codage qui pop up.
ca fonctionnait très bien avant.
https://www.cjoint.com/c/KLxfpCaeXdb
Je joint le fichier car l erreur change des fois.

Merci
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
23 déc. 2021 à 14:54
Bonjour,
La seul erreur que j'ai trouvé est [Erreur de compilation] , je l'ai corrigé, il semble que c'est OK.
Pour la prochaine, pensez de mettre le code d'erreur et la description sommaire. se sera plus simple pour moi....Merci.
Le fichier: https://www.cjoint.com/c/KLxn2K7xqLn
0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
23 déc. 2021 à 16:20
Merci de votre réponse rapide.
J ai identifié le problème qui subsiste.
Si dans la sheet "dependancy liste" j'applique un filtre (voir picture)
et que dans la sheet " dependancy matrix" je met de la data pour un groupe autre que celui filtré dans la sheet "dependancy liste".
Ca me bug la sheet "dependancy liste" et ca m'efface tout le groupe sur lequel j'ai appliqué la nouvelle data.
Un peu confus ce que je dis donc j ai fait un Screenshot



Merci

Hekiz
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
24 déc. 2021 à 11:44
Bonjour,
Petite correction dans le code à cause du message d'alerte, c'est ok.
Filtre sur [Structure] et 4 ajouts pour [Drivetrain] dans [dependancy matrix] tout ok

Le fichier: https://www.cjoint.com/c/KLykQChY3an

Joyeux Noël
0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
25 déc. 2021 à 16:07
Merci Pingou.

Je confirme, ca fonctionne maintenant.
Il me reste encore d'autres affaires dans le même type
mais la solution c'est de ne jamais mettre un filtre diffèrent de celui sur lequel on travail car d'autres bug apparaissent.

Merci

Hekiz
0
Le Pingou Messages postés 12069 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 mai 2024 1 431
25 déc. 2021 à 20:27
Bonjour,
Merci du retour.
Le travail d'ajouts dans [dependancy matrix] avec les filtres différents ne génère aucun problème chez moi.
Je viens de refaire des tests et tout est correct.

0
Hekiz Messages postés 15 Date d'inscription jeudi 25 novembre 2021 Statut Membre Dernière intervention 29 décembre 2021
29 déc. 2021 à 14:40
Bonjour
C'est apres, quand on revient sur la liste, chez moi ca supprime le groupe sur lequel j'ai ajouter de la data dans la [dependancy matrix].
0