[demande d'aide]Dissociation de liste en plusieurs onglets

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

barthsdee

XLDnaute Nouveau
Bonjour

J'ai un petit souci avec Excel

Je dispose d'un tableau de 12000 ligne par 30 colonnes environ. 12 000 lignes c'est beaucoup.... Je souhaite répartir ces 12000 lignes en onglet en me basant sur le contenu d'une colonne.


Ma colonne contient 319 communes différentes (les noms sont standardisés et sans accent ). J'aimerais trouver un système qui "lit mon tableau global ligne par ligne" et qui envoie ou copie chaque ligne dans des onglets spécifiques (un onglet par commune) et si possible qui crée les onglets automatiquement avec le nom de mes communes comme nom de feuilles. (je sais que ça représente un gros défi. mais si vous avez des solutions à me proposer, je suis preneur.
 
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Bonjour à toutes et à tous,

Bienvenue sur XLD, barthsdee 🙂.

Les réponses ne s'improvisent pas.

Comme le préconise la Lien supprimé... mieux vaudrait joindre le fichier de travail, version allégée et dépourvue de données confidentielles.
 
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

C'est magique, ça marche mais j'ai quelques questions:
- Je n'arrive pas à accéder au code vba du bouton que ce soit via le menu macro ou par clic droit sur le bouton (je suis une buse)

- quel est l'élément à changer dans le code pour changer la colonne servant au tri
- dois je changer des éléments dans le code si ma table fait plus ou moins de ligne ou tout est intégré ?
 
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Re,
- Pour le code : Click droit sur l'onglet / visualiser le code
- Pour la colonne : J'ai laissé des indications dans le code
VB:
  Col = 2 'Colonne ou se trouve le dénominant
- Le code récupère toutes les lignes présentent sur la feuille "Tous". Il faut juste indiquer le nombre de colonnes dans le code :
VB:
  c = 3 'NB. de colonnes à traiter <====
Cordialement
 
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Merci Merci Merci^^ ça marche

Edit : et non ça marche toujours pas: j'ai repris le code changé le numéro de colonne et les colonnes à triter et j'ai un beau message d'erreur:

Erreur d'exécution 1004 Impossible de renommer une feuille comme une autre feuille, une bibliothèque d'objets référencés ou un classeur référencé par Visual Basic.

J'ai copié mes colonnes supplémentaires dans le fichier que vous m'avez envoyé et j'ai adapté la formule et ça plante

Et j'ai encore un problème en dehors de ça : j'arrive pas à reprendre la première ligne d'en tête original et la copier au début de chacun des onglets générés
 
Dernière édition:
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Re
Une version avec
- Paramètrage plus simple (les paramètres sont à entrer en tête de code et le nom la feuille est à changer dans la Sub Tata(x$)
VB:
 With Sheets("Tous") '<==== Nom de la feuille portant la liste
EDIT ------
et :
VB:
dDat = toto(Sheets("Tous")) '<==== Nom de la feuille portant la liste
------
- prise en compte suivant la demande des en têtes de colonnes sur les nouvelles feuilles

Pour le message d'erreur : Il y a des cellules vides dans la liste cela bloque le processus. Je ne sais pourquoi pour l'instant....
Cordialement
 

Pièces jointes

Dernière édition:
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Ta version fonctionne!!! il y a vraiment des pros de la macro ici!!! Merci encore

pour les cellules vides elles sont dans mon fichier final et je ne peux pas y couper (il s'agit d'une fusion via access de fichiers SIG et d'invetaires ). ayant plus d'objet d'un coté que de l'autre y a d'inévitables trous ...

Tout ça pour pouvoir générer un kml à onglet ville par ville
 
Dernière édition:
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Re
Une version revue:
- Un oubli dans le paramétrage a été réparé :
La feuille se déclare une seule foi dans la sub tata(x$)
VB:
  Set F = Sheets("Tous") '<==== Nom de la feuille portant la liste
- Les villes absentes sont regroupées sur un onglet "Sans Nom"
Cordialement
 

Pièces jointes

Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Je crois que mon excel est récalcitrant ^^ Après épluchage complet de ma structure de tableau: la case commune est remplie pour chaque ligne .... le problème viendrait que certaines des autres colonnes ne sont pas remplies à fond ?

Après essai avec la V3: ça ne vient plus des blancs ^^, ça vient d'une spécificité de codage pour le kml: le codage de la description dans une colonne spécifique qui est créée en concaténant diverses cellules et en intégrant des balises pour le saut de ligne (les <br/>)


Exemple de cellule:

code GDO: 47001P0001<br/><br/>Fonction: Distribution Publique, Type de poste: IM - En Immeuble<br/>Ville:AGEN Date de pose: 2002<br/><br/> clients: 1 clients mal alimentés: 0<br/>Puissance installée: 250 % de charge: 22,88 %<br/>Delta U / Umax = 1,2623 delta U max admissible= 14,95

Le foirage vient de ces cellules (soit à cause de leur longueur soit à cause des balises)
 
Re : [demande d'aide]Dissociation de liste en plusieurs onglets

Re
Je pense que nos derniers posts se sont croisés.

Pour le problème de tes cellules je pense qu'il y a trop de caractéres.
Il faudrait faire un code complètement différent et certainement plus long à l'utilisation.
Je n'aurai pas le temps ce soir.
Si quelqu'un d'autre a une proposition, il est le bienvenu 😉.
Si non essai de faire un fichier avec moins de lignes mais plus réellement représentatif de la structure des cellules et du nombre de champs (colonnes).
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour