Regroupement de données

Slt tout le forum,

Je souhaiterais regrouper les données de plusieurs colonnes dans une seule.

Actuellement j'utilise la formule à tirer vers le bas =A1&A2 (pour exemple) mais cela prend énormément de temps. Par ailleurs, il est ensuite impossible de faire des tris classiques car les cellules sont impactées par la formule qu'elles contiennent...

Je pense donc qu'un code est plus approprié.

En fait, j'ai à traiter régulièrement la plage de cellules contenues dans les colonnes de H à P inclus.

Si on considère cette plage de cellules par ligne, il n'y a qu'un seul caractère (quel qu'il soit) par ligne qui se trouve dans une des cellules des colonnes H à P inclus les autres étant vides.

Le truc serait de regrouper (couper/coller ?) l'ensemble de ces caractères dans une seule colonne et ici la H.

Cette action s'appliquerait tant qu'un caractère est trouvé dans une des colonnes H à P inclus et stopperait lorsque plus aucun caractère n'est trouvé sur cette plage de données.

Pour bien faire, ce processus devrait s'appliquer sur toutes les feuilles du classeur actif et ce à partir de la feuille active incluse.

Un fichier joint pour les données de départ et le résultat attendu.

Merci pour votre aide et bonne fin de week-end.

Bonjour fouggy,

Dans votre fichier

1) Insérez une colonne entre G et H

2) Dans votre nouvelle colonne, en H1 collez

=SUPPRESPACE(CONCAT(I1:Q1))

3) CTRL + Maj + Fin, pour sélectionner la zone utilisée

4) Limitez la zone à la colonne H

5) CTRL + d, pour propager la formule

6) CTRL + Maj + Fin

7) Limitez la zone à la colonne H

8) CTRL + x, pour couper la sélection

Dans le bloc note

9) Collez dans le bloc note

10) CTRL + a, pour tout sélectionner

11) CTRL + x

Dans votre fichier

12) Collez en H1, CTRL + v

13) Effacer les colonnes I à Q devenues inutiles, en sélectionnant les entêtes de colonnes

Voyez dans le fichier joint

bonjour

au plus simple

6fouggy.xlsx (23.52 Ko)

cordialement

Bonjour à tous et merci pour vos réponses njhub et tulipe4,

mais les formules que vous me proposez, bien plus rapides et efficaces que celles que j'utilise actuellement ne correspondent pas ce que je recherche car les manips restent nombreuses et j'ai de nombreuses feuilles à traiter chaque jour dans un même classeur.

La codification que je n'arrive pas à mettre en place est une macro qui exécuterait le tout en un seul clic.

Bien qu'il puisse y avoir une codification plus simple, les actions que j'essaie de codifier sont les suivantes :

1- Dans la feuille active, considère uniquement par ligne, les cellules des colonnes H à P inclus.

2- Traite toutes les cellules des colonnes H à P ligne par ligne et cherche le seul caractère qui se trouve dans une de ces cellules, ceci à partir de la ligne 1 jusqu'à la dernière ligne où se trouve un caractère. La dernière ligne marquant la fin du traitement sera celle où il n'y a aucun caractère rencontré dans les cellules des colonne H à P.

3- Va sur la première cellule à traiter, ici H1.

* Si la valeur se trouve dans cette cellule, passe directement à la ligne suivante en H2 pour faire la même recherche.

* Si il n'y a pas de valeur en H1, va en I1. Si la valeur se trouve en I1, couper/coller la valeur en H1 et passer à la ligne suivante en H2 pour faire la même recherche.

* Si il n'y a pas de valeur en H1 ni en I1, va en J1. Si la valeur se trouve en J1, couper/coller la valeur en H1 et passer à la ligne suivante en H2 pour faire la même recherche.

Et ainsi de suite en ligne 1 jusqu'à P1 si effectivement la valeur se trouve dans cette dernière cellule.

Et ainsi de suite pour chaque ligne suivante.

Le processus s'arrête à la ligne qui ne comporte aucun caractère dans aucune des cellules des colonnes H à P.

4- Lorsque le traitement est ainsi terminé sur la feuille active, ouvre la feuille suivante pour relancer le même processus et ainsi de suite jusqu'à la dernière feuille du classeur actif quelque soit le nombre de feuilles à traiter et leur nom.

Voici donc ce que je recherche et que j'ai du mal à codifier.

Bonne journée

Bonjour fouggy,

La codification que je n'arrive pas à mettre en place est une macro qui exécuterait le tout en un seul clic.

Je passe la main, je ne connaitrais jamais VBA

Bonjour

Pour répondre à ta demande, je passerai par Query, qui en deux clic réalise ton souhait.

Si tu es encore sous Office2010, alors installe l'add-in Power Query, il est télechargeable et gratuit, si

tu est sous 2016, alors il est inclus, accessible depuis l'onglet Données.

Ensuite, passe par query.

Cordia5

Bon...

Et bien là je suis bien avancé...

Le forum s'appelle bien excel-vba, non ? lol

Merci tout de même pour vos réponses.

Bonne fin de journée

Bonjour

Pour ta demande nul besoin de VBA, le VBA n'est vraiment à mettre en place que si nécessaire, là pour moi ce n'est pas le cas.

Query est vraiment fait pour ce genre de traitement et bien d'autres.

Ensuite, peut-être que tes fichiers d'origines demande plus de manipulation, à voir donc.

Cordia5

Rechercher des sujets similaires à "regroupement donnees"