Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tableau et regrouper des valeurs...

5 réponses
Avatar
Doft
Bonjour!

J'ai un tableau multi dimensionnel ou dans la premi=E8re=20
colonne j'ai plusieurs identifiant. Ces identifiants ne=20
sont pas unique dans la colonne

Est-ce qu'il est possible, en parcourant le tableau, de=20
faire un regroupement sur les identifiants pour que je=20
puisse les r=E9cup=E9rer pour faire autre chose?

Merci de votre aide toujours pr=E9cieuse et bonne journ=E9e!

Doft

5 réponses

Avatar
Rv
Bonjour,

Je comprendrai mieux avec un petit exemple pour illustrer :
- ce que vous appelez un regroupement sur les identifiants dans un
tableau multi dimensionnel,
- les informations à récupérer suite au regroupement.

A+

Rv

"Doft" a écrit dans le message de
news:eed201c43d78$801a17a0$
Bonjour!

J'ai un tableau multi dimensionnel ou dans la première
colonne j'ai plusieurs identifiant. Ces identifiants ne
sont pas unique dans la colonne

Est-ce qu'il est possible, en parcourant le tableau, de
faire un regroupement sur les identifiants pour que je
puisse les récupérer pour faire autre chose?

Merci de votre aide toujours précieuse et bonne journée!

Doft
Avatar
Doft
Bonjour Hervé!

Dans le tableau multi dimensionnel la première colonne
contient par exemple les informations suivante:
1
2
4
1
2
2
4
4
...

Je désire récupérer le n° 1 et en faire quelque chose...
Ensuite le n° 2 et en faire quelque chose...
Ensuite le n° 4 et en faire quelque chose...
Mais vu que j'ai déjà fait mon quelque chose (:o)) avec le
numéro 1 je ne veux pas le refaire pour rien!

Voilà pourquoi je désire regrouper les informations avant
d'exécuter la suite...

En espérant avoir été assez clair...

Merci Beaucoup!!

Doft
Avatar
Rv
Voici une solution Sous forme d'algo:
Exemple pour un tableau à deux dimemsions la première colonne étant celle
de l'identifiant: tab(n,m). Les indices commencent à 1

Trier le tableau selon l'identifiant (min, bulle, quicksort, tas, ...)
i = 1
Tant que i<n faire
identifiant <--tab(i,1)
en faire quelque chose : traitement...
i <-- i+1
Tant que identifiant = tab(i,1) faire
i <-- i+1
si i>n alors
sortir
fsi
Ftq
Ftq

Une autre mèthode sans trier le tableau multi dimensionnel (M) serait
d'utiliser une autre structure par exemple un tableau à une dimension (U)
dans lequel on stocke les identifiants déjà traités .
On parours le tableau M et avant d'effectuer un traitement à partir d'un
identifiant, on recherche si cet identifiant n'est pas déjà présent dans le
tableau U.
- S'il est présent, pas de traitement et on passe au suivant dans M,
- s'il n'est pas présent, on insère l'identifiant dans le tableau U et
on effectue le traitement à partir de M.

Et il y a sûrement bien d'autres méthodes ...

J'espère que ceci est compréhensible.


A+

Rv

"Doft" a écrit dans le message de
news:f14701c43d7d$51f7b0d0$
Bonjour Hervé!

Dans le tableau multi dimensionnel la première colonne
contient par exemple les informations suivante:
1
2
4
1
2
2
4
4
...

Je désire récupérer le n° 1 et en faire quelque chose...
Ensuite le n° 2 et en faire quelque chose...
Ensuite le n° 4 et en faire quelque chose...
Mais vu que j'ai déjà fait mon quelque chose (:o)) avec le
numéro 1 je ne veux pas le refaire pour rien!

Voilà pourquoi je désire regrouper les informations avant
d'exécuter la suite...

En espérant avoir été assez clair...

Merci Beaucoup!!

Doft
Avatar
Michel Gesnot
Bonjour Doft

Si vous pouvez travailler indifferemment avec n'importe
quelle occurence de vos n° 1,2,4 ..., vous pouvez trier le
tableau en memoire, puis le parcourir en détectant les
ruptures sur le n° et traiter a chaque rupture.
Pour trier le tableau, vous pouvez adapter le tri a bulle
dont le code se trouve sur le site de W. Stucki a
l'adresse suivante :
http://mypage.bluewin.ch/w.stucki/Programmes.htm

Maintenant, le tri et meme la simplification du tableau
peuvent etre faits hors de votre traitement VBA si vous
pouvez alimenter votre tableau par une requete qui peut
alors, au choix, trier et/ou regrouper les valeurs ou
n'afficher que la premire ou que la derniere.
Ensuite, vous chargez l'ensemble du recordset resultant
dans un tableau variant via une instruction GetRows, ou
vous le parcourez ligne par ligne (movefirst, movenext).

Voila, j'espere que cela vous ouvre des pistes.
Bon travail
Michel Gesnot



-----Message d'origine-----
Bonjour Hervé!

Dans le tableau multi dimensionnel la première colonne
contient par exemple les informations suivante:
1
2
4
1
2
2
4
4
....

Je désire récupérer le n° 1 et en faire quelque chose...
Ensuite le n° 2 et en faire quelque chose...
Ensuite le n° 4 et en faire quelque chose...
Mais vu que j'ai déjà fait mon quelque chose (:o)) avec
le

numéro 1 je ne veux pas le refaire pour rien!

Voilà pourquoi je désire regrouper les informations avant
d'exécuter la suite...

En espérant avoir été assez clair...

Merci Beaucoup!!

Doft
.



Avatar
Doft
Merci à Vous!!!

Je n'ai pas encore choisit la solution mais il y a en
tellement que de toute façon je vais trouver celle qui me
convient!

Merci encore et bonne journée!

Doft