Boucle ou pas boucle

Le
BV
Bonjour à tous

J'ai un classeur excel comportant 6 onglets issus d'une extraction de
tables sous access.
Chaque onglet comporte un tab avec en-tête de colonnes distinctes (une
seule colonne se répète sur chaque onglet : l'identifiant)
Je souhaiterais faire une sorte de concaténation sur un 7ème onglet,
qui m'ajoute à chaque fois les éléments, les un à la suite des autr=
es.

J'ai pensé à faire d'abord des filtres auto sur chaque feuille
Puis de filtrer sur le premier Num
et de copier les résultats obtenus, sur la 7ème feuille

j'arrive à faire tout ça pour un numéro
mais le faire sur les 50 lignes (50 numéros distincts) en disant de
répéter le critère à chaque fois, ça je ne sais pas faire, même=
si
j'entrevois un peu le principe

Auriez-vous une idée, ou quelque chose de plus simple

merci d'avance

BV
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #19736171
Salut à toi

Tu peux soit onglet de concataination relier pour une ligne chaque cellule
avec les cellules de chaque onglet de manière distinct les une derrière les
autres par formule ainsi :

þuil1!A2

Puis faire un copié/collé de ta ligne vers les 49 autres ligne du bas

Soit je te propose ce code à mettre dans une macro (l'onglet de
concataination est intitullé "Regroupement"):

i = 2
Do While i < Range("A65535").End(xlUp).Row + 1
Range("A" & i, Range("IV" & i).End(xlToLeft)).Copy
Sheets("Regroupement").Range("A65535").End(xlUp).Offset(1, 0)
For j = 1 To Sheets.Count
If Sheets(j).Name <> ActiveSheet.Name Then
Ligne = Sheets(j).Range("A1", "A" &
Sheets(j).Range("A65535").End(xlUp).Row).Find(What:=Range("A" & i),
After:=Sheets(j).Range("A1"), LookIn:=xlValues, _
LookAt:=xlWhole).Row
Sheets(j).Range("A" & Ligne, Sheets(j).Range("IV" &
Ligne).End(xlToLeft)).Copy Sheets("Regroupement").Range("IV" &
Sheets("Regroupement").Range("A65535").End(xlUp).Row).End(xlToLeft).Offset(0,
1)
End If
Next
Ligne = ""
i = i + 1
Loop

Aprés avoir renommé ta feuille de concataination "Regroupement" et activé la
1° feuille de donnée tu exécutes la macro
Puis tu vérifies le résultat Onglet "Regroupement"

Fais des essais et dis moi

La macro recopie en Onglet "Regroupement" l'ensemble des données de chaque
feuille y compris l'identifiant
LSteph
Le #19736271
Bonjour,
Shemas /que compris:

Feuil1
Id|Field1|Field4|FieldN
Name1
Name3
NameN

Feuil2
Id|Field2|Field5|FielP
Name8
NameX
...etc..
Préparation pour la 7ème feuille

Dans la Feuil7
Copier tous les Id colonneA des autres feuilles sous le suivant
A partir de cette colonne
Menu Données
Filtre Elaboré
Copier vers un autre emplacement Sans Doublons
Sélectionner une autre colonne plus loin à droite et Extraire
Supprimer les premières colonnes

La Colonne A de Feuille7 contient maintenant sa première colonne Id
sans doublons
En ligne 1 coller de gauche à droite (puisqu'ils sont tous ditincts)
les titres des autres feuilles
Les datas s'étendront ainsi de B2 à la fin du tableau suivant 6 plages
correspondant aux 6Feuilles
pour chacune des 6 plages de cellules distinctement selon sa feuille,
du coin supérieur gauche jusqu'en bas droite mettre une formule Index
Equiv et faire Ctrl+Entrée
=Index(Feuil1!B$2:B$5000;Equiv($a2;Feuil1!$A$2:$A$5000;0))
...
=Index(Feuil6!B$2:B$5000;Equiv($a2;Feuil6!$A$2:$A$5000;0))


@+

--
lSteph

On 10 juil, 15:56, BV
Bonjour à tous

J'ai un classeur excel comportant 6 onglets issus d'une extraction de
tables sous access.
Chaque onglet comporte un tab avec en-tête de colonnes distinctes (une
seule colonne se répète sur chaque onglet : l'identifiant)
Je souhaiterais faire une sorte de concaténation sur un 7ème onglet,
qui m'ajoute à chaque fois les éléments, les un à la suite des au tres.

J'ai pensé à faire d'abord des filtres auto sur chaque feuille
Puis de filtrer sur le premier Num
et de copier les résultats obtenus, sur la 7ème feuille

j'arrive à faire tout ça pour un numéro
mais le faire sur les 50 lignes (50 numéros distincts) en disant de
répéter le critère à chaque fois, ça je ne sais pas faire, mê me si
j'entrevois un peu le principe

Auriez-vous une idée, ou quelque chose de plus simple

merci d'avance

BV


BV
Le #19746651
On 10 juil, 17:38, LSteph
Bonjour,
Shemas /que compris:

Feuil1
Id|Field1|Field4|FieldN
Name1
Name3
NameN

Feuil2
Id|Field2|Field5|FielP
Name8
NameX
...etc..
Préparation pour la 7ème feuille

Dans la Feuil7
 Copier tous les Id colonneA des autres  feuilles sous le suivant
A partir de cette colonne
Menu Données
 Filtre Elaboré
Copier vers un autre emplacement Sans Doublons
Sélectionner une autre colonne plus loin à droite et Extraire
Supprimer les premières colonnes

La Colonne A de Feuille7 contient maintenant sa première colonne Id
sans doublons
En ligne 1 coller de gauche à droite (puisqu'ils sont tous ditincts)
les titres des autres feuilles
Les datas s'étendront ainsi de B2 à la fin du tableau suivant 6 plage s
correspondant aux 6Feuilles
pour chacune des 6 plages de cellules distinctement selon sa feuille,
du coin supérieur gauche jusqu'en bas droite mettre une formule Index
Equiv et faire Ctrl+Entrée
=Index(Feuil1!B$2:B$5000;Equiv($a2;Feuil1!$A$2:$A$5000;0))
...
=Index(Feuil6!B$2:B$5000;Equiv($a2;Feuil6!$A$2:$A$5000;0))

@+

--
lSteph

On 10 juil, 15:56, BV
> Bonjour à tous

> J'ai un classeur excel comportant 6 onglets issus d'une extraction de
> tables sous access.
> Chaque onglet comporte un tab avec en-tête de colonnes distinctes (un e
> seule colonne se répète sur chaque onglet : l'identifiant)
> Je souhaiterais faire une sorte de concaténation sur un 7ème onglet ,
> qui m'ajoute à chaque fois les éléments, les un à la suite des autres.

> J'ai pensé à faire d'abord des filtres auto sur chaque feuille
> Puis de filtrer sur le premier Num
> et de copier les résultats obtenus, sur la 7ème feuille

> j'arrive à faire tout ça pour un numéro
> mais le faire sur les 50 lignes (50 numéros distincts) en disant de
> répéter le critère à chaque fois, ça je ne sais pas faire, m ême si
> j'entrevois un peu le principe

> Auriez-vous une idée, ou quelque chose de plus simple

> merci d'avance

> BV



merci à tous pour vos réponses
je vais essayer et je vous tiens au courant
BV
Le #19776031
On 13 juil, 00:00, BV
On 10 juil, 17:38, LSteph




> Bonjour,
> Shemas /que compris:

> Feuil1
> Id|Field1|Field4|FieldN
> Name1
> Name3
> NameN

> Feuil2
> Id|Field2|Field5|FielP
> Name8
> NameX
> ...etc..
> Préparation pour la 7ème feuille

> Dans la Feuil7
>  Copier tous les Id colonneA des autres  feuilles sous le suivant
> A partir de cette colonne
> Menu Données
>  Filtre Elaboré
> Copier vers un autre emplacement Sans Doublons
> Sélectionner une autre colonne plus loin à droite et Extraire
> Supprimer les premières colonnes

> La Colonne A de Feuille7 contient maintenant sa première colonne Id
> sans doublons
> En ligne 1 coller de gauche à droite (puisqu'ils sont tous ditincts)
> les titres des autres feuilles
> Les datas s'étendront ainsi de B2 à la fin du tableau suivant 6 pla ges
> correspondant aux 6Feuilles
> pour chacune des 6 plages de cellules distinctement selon sa feuille,
> du coin supérieur gauche jusqu'en bas droite mettre une formule Index
> Equiv et faire Ctrl+Entrée
> =Index(Feuil1!B$2:B$5000;Equiv($a2;Feuil1!$A$2:$A$5000;0))
> ...
> =Index(Feuil6!B$2:B$5000;Equiv($a2;Feuil6!$A$2:$A$5000;0))

> @+

> --
> lSteph

> On 10 juil, 15:56, BV
> > Bonjour à tous

> > J'ai un classeur excel comportant 6 onglets issus d'une extraction de
> > tables sous access.
> > Chaque onglet comporte un tab avec en-tête de colonnes distinctes ( une
> > seule colonne se répète sur chaque onglet : l'identifiant)
> > Je souhaiterais faire une sorte de concaténation sur un 7ème ongl et,
> > qui m'ajoute à chaque fois les éléments, les un à la suite de s autres.

> > J'ai pensé à faire d'abord des filtres auto sur chaque feuille
> > Puis de filtrer sur le premier Num
> > et de copier les résultats obtenus, sur la 7ème feuille

> > j'arrive à faire tout ça pour un numéro
> > mais le faire sur les 50 lignes (50 numéros distincts) en disant de
> > répéter le critère à chaque fois, ça je ne sais pas faire, même si
> > j'entrevois un peu le principe

> > Auriez-vous une idée, ou quelque chose de plus simple

> > merci d'avance

> > BV

merci à tous pour vos réponses
je vais essayer et je vous tiens au courant- Masquer le texte des message s précédents -

- Afficher le texte des messages précédents -



Finalement j'ai opté pour un filtre élaboré et j'ai revu à la baiss e
mes prétentions
Trop de paramètres à prendre en compte
merci encore pour vos réponses
Publicité
Poster une réponse
Anonyme