Creation tableau de synthese a partir de basede donnée
mar_4654
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
melanie1324 Messages postés 1504 Date d'inscription Statut Membre Dernière intervention -
melanie1324 Messages postés 1504 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous,
Je suis novice sur excel-VBA. Je vous demande un peu d'aide svp pour solutionner mon probléme. Voici ce que je n'arrive pas à faire:
Je souhaite à partire de 3 tableaux (qui me servent de base de donnée et qui ont le même nombre de lignes avec une ligne d'entête qui n'est pas à prendre en compte), chacun dans une feuille excel (Feuil1->tableau 1, Feuil2->tableau 2 et Feuil3->tableau 3) construire un tableau de synthése situé en Feuil4 (tableau 4) et constitué par exemple des lignes suivantes:
1ére ligne du tableau 4 de synthése = 1ére ligne du tableau 1 situé en Feuil1;{ne pas prendre en compte la ligne d'entête}
2éme ligne du tableau 4 de synthése = 1ére ligne du tableau 2 situé en Feuil2; {cette ligne est copiée 2 fois}
3éme ligne du tableau 4 de synthése =1ére ligne du tableau 2 situé en Feuil2;
4éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3; {cette ligne est copiée 4 fois}
5éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
6éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
7éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
puis incrémenter la lecture de la ligne du tableau 1 et à nouveau
8éme ligne du tableau 4 de synthése = 2éme ligne du tableau 1 situé en Feuil1;
9éme ligne du tableau 4 de synthése = 2éme ligne du tableau 2 situé en Feuil2; {cette ligne est copiée 2 fois}
10éme ligne du tableau 4 de synthése = 2éme ligne du tableau 2 situé en Feuil2;
11éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3; {cette ligne est copiée 4 fois}
12éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
13éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
14éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
Continuez ainsi jusqu'à ceque toutes les lignes du tableau 1 soient parcourues.
Merci d'avance pour votre aide. En espérant avoir été assez clair dans ma présentation du probléme.
Je suis novice sur excel-VBA. Je vous demande un peu d'aide svp pour solutionner mon probléme. Voici ce que je n'arrive pas à faire:
Je souhaite à partire de 3 tableaux (qui me servent de base de donnée et qui ont le même nombre de lignes avec une ligne d'entête qui n'est pas à prendre en compte), chacun dans une feuille excel (Feuil1->tableau 1, Feuil2->tableau 2 et Feuil3->tableau 3) construire un tableau de synthése situé en Feuil4 (tableau 4) et constitué par exemple des lignes suivantes:
1ére ligne du tableau 4 de synthése = 1ére ligne du tableau 1 situé en Feuil1;{ne pas prendre en compte la ligne d'entête}
2éme ligne du tableau 4 de synthése = 1ére ligne du tableau 2 situé en Feuil2; {cette ligne est copiée 2 fois}
3éme ligne du tableau 4 de synthése =1ére ligne du tableau 2 situé en Feuil2;
4éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3; {cette ligne est copiée 4 fois}
5éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
6éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
7éme ligne du tableau 4 de synthése = 1ére ligne du tableau 3 situé en Feuil3;
puis incrémenter la lecture de la ligne du tableau 1 et à nouveau
8éme ligne du tableau 4 de synthése = 2éme ligne du tableau 1 situé en Feuil1;
9éme ligne du tableau 4 de synthése = 2éme ligne du tableau 2 situé en Feuil2; {cette ligne est copiée 2 fois}
10éme ligne du tableau 4 de synthése = 2éme ligne du tableau 2 situé en Feuil2;
11éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3; {cette ligne est copiée 4 fois}
12éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
13éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
14éme ligne du tableau 4 de synthése = 2éme ligne du tableau 3 situé en Feuil3;
Continuez ainsi jusqu'à ceque toutes les lignes du tableau 1 soient parcourues.
Merci d'avance pour votre aide. En espérant avoir été assez clair dans ma présentation du probléme.
A voir également:
- Creation tableau de synthese a partir de basede donnée
- Tableau word - Guide
- Tableau ascii - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Creation de compte google - Guide
1 réponse
Bonjour,
Voici la macro :
sub synthèse ()
source=1
dest = 1
'booucle qui va balauer le tableau de la cellule 1 jusqu'à ce qu'il y ait du vide dans la première colonne
do while sheets("Sheet1).cells(source,1) <> ""
'va copier la ligne de la feuille 1 dans la feuille 4
Sheets("Sheet1").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
'va copier la ligne de la feuille 2 dans la feuille 4 2 fois
Sheets("Sheet2").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet2").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
'va copier 4 fois la feuille 3 dans la feuille 4
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
source = source+1
loop
end sub
Voici la macro :
sub synthèse ()
source=1
dest = 1
'booucle qui va balauer le tableau de la cellule 1 jusqu'à ce qu'il y ait du vide dans la première colonne
do while sheets("Sheet1).cells(source,1) <> ""
'va copier la ligne de la feuille 1 dans la feuille 4
Sheets("Sheet1").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
'va copier la ligne de la feuille 2 dans la feuille 4 2 fois
Sheets("Sheet2").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet2").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
'va copier 4 fois la feuille 3 dans la feuille 4
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
Sheets("Sheet3").Rows(source).Copy Sheets("Sheet4").Cells(dest, 1)
dest=dest+1
source = source+1
loop
end sub