Accueil > Forum > > > > Comment séparer les données d"une même feuille en plusieurs onglet
Comment séparer les données d"une même feuille en plusieurs onglet
vendredi 4 juillet 2008 à 22:27:34 |
Comment séparer les données d"une même feuille en plusieurs onglet

idieordeco
|
Bonjour, Je ne suis pas bien sur d'être dans la bonne section, désolé par avance. (C'est ou VBA Excel ?) Je suis sur VBA Excel et je souhaite séparer les données d'un même onglet et plusieurs onglets en fonction des critères de la colonne A Exemple :J'ai un onglet avec ça comme base : A B C CAC40 01/01/08 4019 CAC40 02/01/08 4023 CAC40 03/01/08 4043 SBF120 01/01/08 235 SBF120 02/01/08 238 SBF120 03/01/08 245 (...) (...) (...) Au finale je veux ça (avec cet exemple) Onglet 2A B C CAC40 01/01/08 4019 CAC40 02/01/08 4023 CAC40 03/01/08 4043 Onglet 3SBF120 01/01/08 235 SBF120 02/01/08 238 SBF120 03/01/08 245 Onglet n (...) (...) (...) Et l'onglet 1 vide au final ! Je me suis complétement perdu dans le code avec une variable qui teste la colonne A et si cette dernière est différente de A-1 alors tu crée un nouvel onglet sinon tu copies colles sur le dernier onglet crée. Voila voila, lost in translation idieordeco... Si quelqu'en peut me rebrancher sur une piste ? Merci par avance ! Bière qui roule bière qui mousse
|
|
vendredi 4 juillet 2008 à 23:18:42 |
Re : Comment séparer les données d"une même feuille en plusieurs onglet

us_30
|
Bonsoir,
Il semble que tu analyses bien ton problème... Maintenant, je pense que l'algo que tu veux faire n'est pas très bon... En effet, le moindre désordre rendait tout bordelique, avec 2 onglets pour une même rubrique... je ne détaille pas plus, mais personnellement, je suivrais un autre chemin... en prenant un nom d'onglet valant celui de la colonne A.
Schématiquement, voici les étapes :
1er étape : - Faire une fonction qui repère le nb d'enregistrement dans une feuille (c'est facile, et existe déjà...)
2 étape : l'algo... - Recherche le nb d'enregistrement => fin - De la ligne 1 à fin - Lire l'élément de la colonne A (un enregistrement : CAC40 par exemple) - Copier la ligne entière (avec les fonctions intégrées d'Excel => selection.copy) - Rechercher parmi les noms des onglets, si CAC40 existe - Selon la réponse on va à l'étape 3 ou 5
3 étapes : L'onglet existe ! - Changer la feuille correspondante à l'onglet - Recherche le nb d'enregistrement => fin - Se positionner juste une ligne après - Coller la copie précédente (avec les fonctions d'Excel)
4 étapes : Retour à l'étape 2
5 étapes : L'onglet n'existe pas ! - Créer un onglet (Sheet.add) - Changer son nom avec la valeur de l'élément de la colonne A précédent. - Retour à l'étape 3
Amicalement, Us.
|
|
vendredi 4 juillet 2008 à 23:50:57 |
Re : Comment séparer les données d"une même feuille en plusieurs onglet
|
samedi 5 juillet 2008 à 13:26:00 |
Re : Comment séparer les données d"une même feuille en plusieurs onglet

idieordeco
|
Bonjour,
Tout d'abord, merci pour vos réponses. J'ai repensé mon système. En fait les données que je souhaite mettre en onglet font 170000 lignes pour 600 variables en A. (J'ai excel 2007 donc ça passe sans problème) Seul souci ça va mettre deux ans à trier. Dans l'idéal, après le tri des indices, je serai à 200 variables A et 50000 lignes (Là, c'est pour le boulot et Excel 2003 :) )
Maintenant je repense le système et je met les données en colonne.
Avant j'avais ça sur mon onglet indice: A B C CAC40 01/01/08 4019 CAC40 02/01/08 4023 CAC40 03/01/08 4043 SBF120 01/01/08 235 SBF120 02/01/08 238 SBF120 03/01/08 245
Je vais faire ça sur un autre onglet VL (et un seul) : A B (...) J K ETC.... 1 CAC 40 SBF 120 2 01/01/08 4019 235 3 02/01/08 4023 238 4 03/01/08 4043 245
Le principe du début de la moulinette est le suivant : Le filtre les indices les un après les autres par leur code (Qui une variable nombre) puis je copie/colle la valeur de l'indice sur l'onglet VL et colonne. ça donne ça :
Sub tri()
Dim j As Long Dim critere As Long For critere = 85 To 100000 For j = 12 To 1000 Sheets("indices").Select ActiveSheet.Range("$A:$G").AutoFilter Field:=8, Criteria1:=critere Columns("C:C").Select Selection.Copy Sheets("VL").Select Columns(j).Select ActiveSheet.Paste Next j Next critere
Le truc c'est que ma variable critere ne s'implémente pas. (Donc je copie/colle toujours le même indice (hum !) En pas à pas, la moulinette passe de next j au début (sans passer sur Next critere donc)
Bière qui roule bière qui mousse
|
|
samedi 5 juillet 2008 à 13:42:02 |
Re : Comment séparer les données d"une même feuille en plusieurs onglet

LIBRE_MAX
|
Réponse acceptée !
>>Le truc c'est que ma variable critere ne s'implémente pas. (Donc je copie/colle toujours le même indice (hum !)
Pas fort en VBA, alors Question: Est-ce que ActiveSheet.Range("$A:$G").AutoFilter Field:=8, Criteria1:=critere suffit pour éviter que ça copie et colle toujours le même indice.Car à part ça, l' indice critère ne figure nulle part ailleur.Dans ta boucle tu ne te refères qu' à J. (Columns(j).Select) A part ça, difficile pour moi de t' aider sur ce coup là ! ... Y'en a même qui disent qu'ils l'ont vu voler.
|
|
samedi 5 juillet 2008 à 15:20:50 |
Re : Comment séparer les données d"une même feuille en plusieurs onglet

idieordeco
|
Dim critere As Long For critere = 85 To 100000 Sheets("indices").Select ActiveSheet.Range("$A:$G").AutoFilter Field:=8, Criteria1:=critere Columns("C:C").Select Selection.Copy Sheets("VL").Select Columns("J:J").Select Selection.Insert Shift:=xlToRight Sheets("indices").Select ActiveSheet.Range("$A:$H").AutoFilter Field:=8
next critere
En fait comme ça, ça marche.
Mais j'arrête là car je ne suis pas bien sur des données sources que je traite. Merci pour tout 
Bière qui roule bière qui mousse
|
|
Cette discussion est classée dans : données, feuille, onglet, avance, séparer
Répondre à ce message
Sujets en rapport avec ce message
Ajouter des données à un doc [ par fseb ]
Bonjour, J'ai un intranet en ASP, sur lequel les utilisateur entrent divers données telles que : nom, prénom, service d'origine, et destinataire, et
l'assistant feuille de données de vb6 a disparu! [ par Mary ]
mon assistant feuille de données, qui devrait se trouver dans le menu compléments, et dans le sous menu gestionnaire de compléments de visual basic 6.
VB6 et base de données [ par Webman ]
Salut,Je suis en train de faire un petit petit traitement de texte et plus je progresse et plus c'est difficile....La difficulté actuelle est de lier
Validation des données [ par Philg42 ]
Bonjour.Je souhaite savoir si un utilisateur à modifié un controle de cette feuille et dans ce cas lui proposer d'enregistrer ou d'annuler ses changem
Accéder aux données d'une feuille excel dans VB sans ouvrir excel. [ par Amarande ]
Bonjour, Je cherche désespérément un moyen pour résoudre ce problème:j'ai un programme sous VB (6.0), et je dois y insérer une feuille Excel. J'ai vu
Couleur onglet feuille Excel [ par Baboune1 ]
Salut,comment peut on modifier la couleur de l'onglet d'une feuille Excell avec VBA ou VB6 ?(je sais le faire via Excel)
recoupement de données sur deux feuilles [ par okin ]
Bonjour, je voudrais vous soumettre mon pb?Voila, je dispose de deux feuilles, dans chacune d'elles j'ai en colonne A un grand nombre de valeurs qui d
Base de données [ par noz ]
Bonjour, Je débute en VB et j'ai une petite appli sur laquelle je buche depuis qq temps sans résultat: j'ai une petite base de données sur une feuill
comment Récup des données ds une feuille .xls sans l'ouvrir [ par zujam ]
tout est dans le titre...Merci d'avance
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|