Macro pour créer des feuilles de calcul en fonction d'une colone

kraenys

XLDnaute Junior
Bonjour à tous,

J'explique mon problème qui semble très flou avec le titre.
Je suis sous Excel 2007
J'ai une table que j'aurai aimé joindre mais qui dépasse les 293ko de pièce jointe... Cette table ne contient qu'une colone contenant des codes du type "AUT-MA" "LOG-AT" "BLAESMETRO", etc.
Je cherche à dispatcher cette colone en plusieurs feuilles, une feuille pour chaque code. Par exemple: une feuille pour les valeurs "C12-CD", une autre avec les valeurs "GRP XXXXXX", une autre pour "BLAESMETRO", etc..
J'aimerai que cette répartition puisse être automatisée, donc sous forme de macro ou sous forme de code VBA.

Je pense que la manipulation doit être toute simple, mais elle ne me viens pas...

Merci d'avance de votre aide :)

Kraenys
 

john

XLDnaute Impliqué
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Bonjour,

Voir code dans le classeur ci-joint si ça peux te convenir...

BàT.

John
 

Pièces jointes

  • ajoute_feuille.xlsm
    14.7 KB · Affichages: 46
  • ajoute_feuille.xlsm
    14.7 KB · Affichages: 51
  • ajoute_feuille.xlsm
    14.7 KB · Affichages: 46

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Suite aux tests, j'ai vu que le code ne convenais pas tout à fait.
Dans ma colone, j'ai plusieurs fois chaque code. (par exemple, j'ai 7198 fois le code AUT-MA, plus de 40000 fois le code GRP XXXXXX, etc.)

Je m'étais mal exprimé mais je souherai créer une colone pour chaque code, sans avoir de doublon.
Celà complique l'écriture du code, mais il faudrait que les lignes contenant chaque code soient envoyées dans la nouvelle feuille créée. (par exemple, on a 134 fois le code SPR-OP, il faudrait créer une feuille de calcul SPR-OP et envoyer les 134lignes correspondantes, etc.)
La manipulation peut être gourmande en ressource, je prévois de réaliser automatiquement cette tâche chaque semaine en pleine nuit.


Bien à vous.

Kraenys
 

john

XLDnaute Impliqué
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Re,

Tu sais m'envoyer un exemple de ton fichier (même avec données modifiées) pour que je puisse me pencher sur le problème...

Dans ton fichier, mets un exemple de ce que tu souhaiterai obtenir à la fin, ce sera encore + facile pour moi de comprendre tout.

BàT.

John
 

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Je vais essayer de vous envoyer un fichier suffisament léger pour pouvoir le mettre en jointure.

Il y aura sans doute énormément d'espaces. Vu que la colone fait 126230 lignes, j'en aurai effacée beaucoup pour pouvoir diminuer la taille du fichier.

Je vous prépare ce document avec un exemple attendu et le poste dès qu'il est prêt.

Bien à vous.

Kraenys
 

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Voici donc une version suffisament légère pour pouvoir être postée.

On retrouve la première feuille qui et la feuille brute que j'ai (sans les cases que j'ai du vider pour gagner en mémoire) On y retrouve tout les codes (comme AUT-MA)
Petite précision, ALERT_GROUP_NAME est le nom initial de ma colone.
Les autres feuilles sont le résultat attendu (les deux premières contiennent une petite explication du résultat espéré.

Si il vous manque quoi que ce soit, n'hésitez pas, j'essayerai d'être le plus clair possible.

Bien à vous.

Kraenys
 

Pièces jointes

  • excel-dl.xls
    235.2 KB · Affichages: 40

john

XLDnaute Impliqué
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Si je comprend bien... il faut ajouter, à la feuille correspondant au code, ajouter le code à la suite des autres existants ?? et ainsi connaitre le nombre de fois celui-ci se trouve dans la feuille de départ ??? (je suppose car dans l'exmple il n'y a qu'une colonne avec un seul code dans chaque cellule).
 

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

la table complète contient 20 autres colones. il faudrait les trier en les envoyant dans la feuille correspondant au code de la colone ALERT_GROUP_NAME. Il faudrait donc je pense détecter quelles lignes contiennent tel ou tel code (C12-CD par exemple) et transférer les lignes des colones ayant le code C12-CD dans la fiche ayant le même nom.

(j'espère être clair, j'avoue que ce n'est pas facile de coucher ça sur papier)
 

john

XLDnaute Impliqué
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Voilà de ce que j'ai pu comprendre ...

Tu peux supprimer les 3 dernières feuilles.

BàT.

John
 

Pièces jointes

  • ajoute_feuille.xlsm
    74 KB · Affichages: 40
  • ajoute_feuille.xlsm
    74 KB · Affichages: 43
  • ajoute_feuille.xlsm
    74 KB · Affichages: 44

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Merci, je pense qu'on est assez proche. Le résultat obtenu sur votre feuille est proche de ce que j'aimerai obtenir.

Lorsque j'essaye la macro sur les 126230 lignes, j'ai une erreur d'execution '1004' (La méthode 'Range' de l'objet '_Global' a échoué)
Avez-vous une idée de la cause à celà?

Bien à vous.

Kraenys
 

john

XLDnaute Impliqué
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

Heuuuuuu non pas vraiment, c'est ça le soucis quand j'ai pas le fichier :( peut être le nombre de page supérieur à ce qui est autorisé par excel !!! en fait je sais pas du tout :(

Mais déjà pas mal si je m'approche du résultat :)

Tu n'as pas oublié un guillemet qq part en adaptant le code ?? souvent ça l'erreur !!!

J'ai une zone de nom qui se nomme "data" d'où le for each .... range(data), il faut que tu nommes ta zone comme ça également ou modifier le range avec le nom que tu lui as donnée range(nomdezone)
 
Dernière édition:

kraenys

XLDnaute Junior
Re : Macro pour créer des feuilles de calcul en fonction d'une colone

est-il possible de vous envoyer la colone complète par mp? Celà vous permettrai d'avoir le même support que moi.

Au fait, j'ai essayé votre macro sur le document que je vous ai envoyé et j'obtiens le même message d'erreur, peut-être celà vous mettra sur la voie.
 

Statistiques des forums

Discussions
312 364
Messages
2 087 626
Membres
103 625
dernier inscrit
Smer