[Catégorie modifiée VB6 --> VBA] Une boucle do... loop dans une boucle?

rrguk11 Messages postés 2 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 23 juin 2010 - 23 juin 2010 à 11:35
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 23 juin 2010 à 13:06
Bonjour,

Je debute et je galere a commencer ma macro...
J'ai essaye d'en bidouiller plusieurs... mais a chaque fois qqchose bloque...

En gros j'ai Une premiere feuille "DATAS" avec un nombre de lignes et un nombre de colonnes non fixes...

Jai besoin de copier ces donnees sur une autre feuille "RESULTS" avec differentes contraintes sous cette forme:

--> DATAS
A B C D E F
1 o t
2 p u
3 i l q v
4 j m r w
5 k n s x
...

--> RESULTS
A B C D E F
1 o p q i l
2 r j m
3 s k n
4 t u v i l
5 w j m
6 x k n
...

Je pense qu'il faut une premiere boucle sur les colonnes et a l'interieur de celle-ci, une boucle sur les lignes, en gros:

- Commencer par copier C1 et C2 (DATAS) en les transposants vers A1 et B1 (RESULTS)
- Puis de C3 (DATAS) jusqu'a la derniere ligne non vide de la colonne C (La vient ma deuxiement boucle sur les lignes, qui je suppose continue jusqu'a une ligne vide) vers la cellule C2 de RESULTS
- Copier ensuite les donnees partant de A3 et B3 jusqu'aux dernieres lignes non vides des deux colonnes vers RESULTS D1 et E1...

Quand la boucle a fini de copier les lignes de ma colonne C elle repart sur la colonne suivante (premiere boucle) donc D de DATAS, en cellule D1 et D2 mais cette fois ci elle colle les donnes en dessous de la derniere ligne de RESULTS dans la colonne A.... je ne sais pas si c'est tres clair >_<

En tenant compte que mes lignes 1 et 2 sont des titres.

Je sais que c'est assez complique.... mais ca equivaut a en gros 10 000 lignes tous les mois, je ne m'en sors pas... >_<

Merci par avance de vos suggestions!!!

3 réponses

rrguk11 Messages postés 2 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 23 juin 2010
23 juin 2010 à 11:48
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
23 juin 2010 à 12:26
Bonjour,

Ouais, chouette ! un vrai sac de nœuds !

Mais bon, si tu nous donnes le début de ton codage, on pourra regarder où est ton erreur ?

Euh... si je comprend bien après "u v" on aura à la suite :
- colonne C : "w x y z"
- colonne D : "a b c d"
- colonne E : "e f g h"


Amicalement,
Us.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 juin 2010 à 13:06
Salut,

C'est un genre de pivot que tu veux?
Il faut peut etre essayer d'y aller avec des structures ou des classes ou groupement pour te clarifier les idees.

Faire l'algo pour une matrice
avec n * n avec une entete de colonne et une entete de ligne

et apres reprendre par ta classe ou ton groupe pour faire ce que que tu cherches.

Bon dev
0
Rejoignez-nous