> Tous les forums > Forum Bureautique
 EXCEL 2007 Filtrer les données
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
cogeres
  Posté le 29/12/2011 @ 03:13 
Aller en bas de la page 
Nouvel astucien

Bonjour à tous, désolé mais je suis nul de nul sur excel ... voici le pb qui me prend la tête.

C'est pour du publipostage, j'utilise une feuille de 27.000 lignes. Chaque enregistrement contient nom , adresse, etc.... et,dans une colonne un code activité (NAF).

Selon la nature du message, je dois déterminer la cible correspondante en retirant de la feuille 1 principale une listes prétablies de 250 à 300 codes NAF. J'en ai plsuieurs de ces listes. Supposons, j'en prends une que je colle dans la feuille 2 située du même classeur.

Maintenant, je voudrais automatiser avec une macro le processus de filtrage entre les feuilles 1 et 2 afin de produire une nouvelle feuille qui sera la cible, c'est à dire la liste des envois.

Moi j'y arrive pas. Merci pour votre aide qui sera la bienvenue (j'utilise excel 2007 et win XP)

Publicité
qmike549
 Posté le 29/12/2011 à 07:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

bonjour

tout cel aest bien confus

Il te faut effectuer un publipostage avec un modele construit sous word et publiposter avec comme source ton fichier excel

tu n 'es pas obligé de passer par un macro

le publipostage te permet lors de son exécution de filtrer les données



Modifié par qmike549 le 29/12/2011 07:25
cogeres
 Posté le 29/12/2011 à 22:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
qmike549 a écrit :

bonjour

tout cel aest bien confus

Il te faut effectuer un publipostage avec un modele construit sous word et publiposter avec comme source ton fichier excel

tu n 'es pas obligé de passer par un macro

le publipostage te permet lors de son exécution de filtrer les données

Merci pour votre aide. Je vais essayer de faire ce filtrage avec Word .... cela m'a donné une autre idée. Merci encore.

cogeres
 Posté le 30/12/2011 à 01:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
qmike549 a écrit :

bonjour

tout cel aest bien confus

Il te faut effectuer un publipostage avec un modele construit sous word et publiposter avec comme source ton fichier excel

tu n 'es pas obligé de passer par un macro

le publipostage te permet lors de son exécution de filtrer les données

Bien alors voila le résultat des courses en passant par Word pour filtrer les enregistrements pour faire le publipostage

Dans les filtres, J'ai rentré à la main 147 codes activité (NAF) correspondant à des enregistrements à exclure (exemple :7609Z,4578A, etc...)

Quand on valide, on a le message "opération impossible erreur du moteur de la base de données".

Visiblement, c'est trop lourd à gérer et word y perd les pédales. En plus c'est un travail de chien pour rentrer toutes ces variables. Je reviens donc à ma première idée qui est d'extraire, sous excel, par une macro ou autre système, les enregistrements à utiliser.

On imagine : une feuille excel de 20.000 enregistrements ; une seconde feuille de 200 code activité = 200 critères à exclure. La moulinette fait le rapprochement produit une nouvelle feuille excel n°3 et c'est cette feuille que je couple avec word pour faire le publipostage.

On n'utilise pas les filtres de word. Le problème est que je sais pas comment faire ce rapprochement sous excel.

cebe
 Posté le 30/12/2011 à 08:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Je suggère de masquer les lignes ? Peut-être qu'une macro dans Excel permetrtait de masquer les lignes en fonction de certains critères ?

Bonne continuation,

aeronav1
 Posté le 30/12/2011 à 08:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Il faut recourir dans un premier temps à "l'extraction vers un autre emplacement" pour obtenir sur une feuille du classeur contenant les données uniquement les enregistrements filtrés, à utiliser ensuite comme source de publipostage dans WORD.

1.- créer une feuille vierge dans le classeur, la nommer (par commodité) "Extrait" par ex.

2.- créer une nouvelle feuille vierge, la nommer "MesCritères" (par ex.)

3.- Sur "MesCritères" inscrire en A1 l'étiquette identique au nom du champ de données contenant les codes d'activité (NAF par e.)

4.- A partir de MesCritères!A2 inscrire en colonne tous les critères correspondant aux enregistrements à conserver (logique du OU pour le filtrage avancé). Si critères pour exclure, répéter à l'horizontale les 150 étiquettes "NAF" à partir de A1 et sous chacune une formule : ="<>" & lecode (logique du ET)

5.- A partir de Extrait!A1 inscrire horizontalement tous les champs nécessaires et suffisants pour le publipostage (A1:A9 par ex.), ce sera la zone d'extraction.

6.- Sélectionner n'importe quelle cellule vide de la feuille Extrait, en dehors de la zone d'extraction

7.- Appeler Données \ Filtre avancé

8.- Remplir les diverses zones en n'oubliant pas de cocher "Filtrer vers un nouvel emplacement". La source, comme d'habitude ; pour la zone de critères cliquer d'abord sur l'onglet MesCritères pour avoir une adresse du genre MesCritères!A1:A194 ou MesCritères!A1:A150; pour la zone d'extraction nouveau clic sur Extrait et indiquerA1:A9

9.- Sur validation vous obtenez votre liste filtrée pour le publipostage sur la feuille Extrait

10.- N'oubliez pas d'effacer la totalité des enregistrements filtés (pas les étiquettes !) avant une nouvelle extraction. Si besoin, faites une copie d'une extraction ailleurs avant effacementsi vous voulez vous y référer à nouveau.

Amélioration à envisager

1.- Donner des noms dynamiques aux plages utilisées

2.- Vous pouvez avoir autant de colonnes (ou de groupes de 2 lignes) de critères que vous voulez sur la feuille Critères, avec des noms dynamiques parlant pour définir plus aisément la zone de critère utilisée à chaque fois ,

3.- Une macro pour le tout ne servirait à rien si vous ne pouvez pas fournir de mémoire, dans une boîte de dialogue, le nom de la zone de critères à retenir pour une extraction donnée.

4.- un nom dynamique pour la zone des données filtrées est très commode pour indiquer à WORD la source de données



Modifié par aeronav1 le 30/12/2011 09:13
gibi47
 Posté le 30/12/2011 à 09:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Cogeres

Vous pouvez vous en sortir avec une formule "recherchev" comme ceci:

Valeur cherchée = sélection Naf (c'est ce que l'on cherche)

Table matrice = code naf plus nom adresse (c'est la zone de recherche)

N° index colonne = nom adresse (c'est ce que l'on veut récupérer)

Voir le résultat ci-dessous.

J'ai vu qu'il était possible d'enregistrer un exemple directement sous excel mais je ne sais pas faire (merci à celui qui me donnera la recette)

J'espère que vous vous en sortirez avec ces explications.

Tous mes voeux pour cette nouvelle année à tous les Astuciens.

Gibi

Naf nom /adresse Selection Naf Fonction
1 a 3 c
2 b 4 d
3 c 8 h
4 d 12 l
5 e 25 y
6 f 26 z
7 g 30 #N/A Pas de code Naf correspondant
8 h
9 i
10 j
gibi47
 Posté le 30/12/2011 à 09:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Je temps d'écrire et aeronav1 avait déja répondu !

C'est une bonne solution aussi veuillez lire "Autre proposition" en titre de mon Post.

Bonne journée

cogeres
 Posté le 31/12/2011 à 14:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien
aeronav1 a écrit :

Il faut recourir dans un premier temps à "l'extraction vers un autre emplacement" pour obtenir sur une feuille du classeur contenant les données uniquement les enregistrements filtrés, à utiliser ensuite comme source de publipostage dans WORD.

1.- créer une feuille vierge dans le classeur, la nommer (par commodité) "Extrait" par ex.

2.- créer une nouvelle feuille vierge, la nommer "MesCritères" (par ex.)

3.- Sur "MesCritères" inscrire en A1 l'étiquette identique au nom du champ de données contenant les codes d'activité (NAF par e.)

4.- A partir de MesCritères!A2 inscrire en colonne tous les critères correspondant aux enregistrements à conserver (logique du OU pour le filtrage avancé). Si critères pour exclure, répéter à l'horizontale les 150 étiquettes "NAF" à partir de A1 et sous chacune une formule : ="<>" & lecode (logique du ET)

5.- A partir de Extrait!A1 inscrire horizontalement tous les champs nécessaires et suffisants pour le publipostage (A1:A9 par ex.), ce sera la zone d'extraction.

6.- Sélectionner n'importe quelle cellule vide de la feuille Extrait, en dehors de la zone d'extraction

7.- Appeler Données \ Filtre avancé

8.- Remplir les diverses zones en n'oubliant pas de cocher "Filtrer vers un nouvel emplacement". La source, comme d'habitude ; pour la zone de critères cliquer d'abord sur l'onglet MesCritères pour avoir une adresse du genre MesCritères!A1:A194 ou MesCritères!A1:A150; pour la zone d'extraction nouveau clic sur Extrait et indiquerA1:A9

9.- Sur validation vous obtenez votre liste filtrée pour le publipostage sur la feuille Extrait

10.- N'oubliez pas d'effacer la totalité des enregistrements filtés (pas les étiquettes !) avant une nouvelle extraction. Si besoin, faites une copie d'une extraction ailleurs avant effacementsi vous voulez vous y référer à nouveau.

Amélioration à envisager

1.- Donner des noms dynamiques aux plages utilisées

2.- Vous pouvez avoir autant de colonnes (ou de groupes de 2 lignes) de critères que vous voulez sur la feuille Critères, avec des noms dynamiques parlant pour définir plus aisément la zone de critère utilisée à chaque fois ,

3.- Une macro pour le tout ne servirait à rien si vous ne pouvez pas fournir de mémoire, dans une boîte de dialogue, le nom de la zone de critères à retenir pour une extraction donnée.

4.- un nom dynamique pour la zone des données filtrées est très commode pour indiquer à WORD la source de données

Mille merci à tous pour votre aide. C'est bien ce que je pensais, c'est technique, il y a de la manip à faire ... Bon alors je vais essayer cette solution mais aujourd'hui c'est le 31 décembre ... si je commence à rentrer dans ce truc je vais avoir d'autres soucis a régler avec ma chef et là, personne va pourvoir m'aider .

Je souhaite donc à tous une bonne année ! une excellente année !! je reviens vite avec cette extraction pour vous dire comment ça roule. Bon réveillon et laissez votre votre voiture au garage si vous avez picolé, parce que l'extraction n'est pas encore faite et je pourrais avoir besoin encore de vos services

aeronav1
 Posté le 31/12/2011 à 18:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Mille excuses, je devais déjà préparer le Réveillon !

Au point 4 de la manip, si on utilise la logique du ET (élimination de certains codes) il faut mettre en deuxième ligne tout simplement :

<>uncodeNAFAEliminer

Pas de formule, pas de guillemets, sinon résultat stupide.

Bon réveil !

Mytå
 Posté le 01/01/2012 à 02:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut le forum

Bonne Année 2012!
Qu'elle soit riche de joie et de gaieté,
qu'elle déborde de bonheur et de prospérité
et que tous les voeux formulés deviennent réalité !

Aeronav une version VBA

  • Listbox pour le choisir les NAF
  • Possibilité d'inclure ou d'exclure les choix dans le filtre

Fichier : Filtre_Aeronav.xls

Mytå



Modifié par Mytå le 01/01/2012 02:31
aeronav1
 Posté le 01/01/2012 à 09:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bravo Mytå, votre projet est très élégant et devrait satisfaire COGERES.

je n'ai pas trouvé dans l'aide une limite au nombre de lignes affichables dans la ListBox.

J'avais pensé à une macro semblable (mais certainement moins astucieuse) mais il me semblait que COGERES n'était pas très à l'aise avec le VBA d'où la méthode "manuelle" indiquée.

L'étude de l' "extraction vers un autre emplacement" pour aboutir à une nouvelle feuille ne fait de mal à personne (heureusement).

Je vais essayer de trouver une méthode permettant de satisfaire encore mieux le besoin de COGERES : partir de listes de codes NAF préétablies, à exclure de la base de données, mais je ne suis pas sûr d'y arriver.

Bonne année à tous !

Mytå
 Posté le 01/01/2012 à 17:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re le forum

On pourrait facilement utiliser des listes prédéfinies (.csv, .txt) à importer.

Si Cogeres veux intégrer cela c'est adaptable.

Mytå

Mytå
 Posté le 01/01/2012 à 22:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re le forum

Voila un fichier qui gère Export-Import au format .CSV

Le Fichier : Filtre_Cogeres.xls

Mytå

aeronav1
 Posté le 03/01/2012 à 16:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

BONNE ANNÉE à tous !
Navré d'apporter cette nouvelle mouture avec retard.
Voici le classeur http://cjoint.com/?BAdqUkqqnMR enregistré en .xlsm puisque Cogeres travaille avec Excel 2007
Pour cogeres :
Je pense que cet exemple pourra facilement être transposé sur votre classeur de travail si vous l'adoptez. Je serais curieux de savoir le temps que mettra la macro pour faire l'extraction à partir de 20 000 enregistrements si vous combinez, par ex. 500 baptêmes NAF à inclure ou à exclure (sans doute pas de différence entre Exclure et Inclure).
Pour Myrta :
J'ai copié votre méthode, d'où le nom du classeur. Je me suis borné à permettre une sélection multiple, et à mettre un message d'avertissement pour obliger à sélectionner au moins un article de la ListBox.
pour cebe :
J'avais entrepris une solution à base de masquage de lignes, mais comme il faut de toute façon comparer chaque numéro à inclure ou exclure aux numéros établis en liste on ne peut pas gagner de temps. Puisqu'Excel fait un excellent filtre avancé, je le laisse travailler à sa façon.

J'ai atteint les limites de mon incompétence, ne me demandez pas beaucoup plus.

Mytå
 Posté le 03/01/2012 à 22:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re le forum

Aeronav, as-tu tester ma dernière version.

  • Permet la sauvegarde des filtres sélectionés (.csv)
  • Permet le Multi-Import des bases sauvegardés. (.csv)
  • Permet le choix des items dans la ListBox (Select/Unselect)
  • Permet donc de refaire une sauvegarde de cette nouvelle base (.csv)

Mytå



Modifié par Mytå le 03/01/2012 22:40
aeronav1
 Posté le 04/01/2012 à 08:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour Mytå : Votre classeur fonctionne parfaitement !

Ce qui suit n'est pas une critique,
Vous maintenez le choix individuel de chaque élément de critères dans la ListBox qui peut contenir 27 000 entrées selon cogeres. ce n'est pas une mince affaire. Je préfère sélectionner des catégories en bloc, elles peuvent être plus parlantes et seront certainement moins nombreuses. De plus la sélection par listes en cascade est possible.

Il appartient à cogeres de décider s'il veut exporter les critères et l'extraction vers de nouveaux fichiers, qui pourraient être au format DOCX si on pilote WORD à partir d'EXCEL.

Personnellemnt je préfère utiliser directement Excel comme source de données, des intermédiaires créent un risque.

Ne grelottez pas trop dans votre igloo !



Modifié par aeronav1 le 04/01/2012 08:52
Mytå
 Posté le 04/01/2012 à 12:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re le forum

aeronav1 a écrit :

Vous maintenez le choix individuel de chaque élément de critères dans la ListBox qui peut contenir

27 000 entrées selon cogeres. ce n'est pas une mince affaire. Je préfère sélectionner des catégories en bloc...

Rien ne l'empèche d'exporter cette liste directement en .csv depuis n'importe quel logiciel

Elle est alors utilisable directement par importation par la suite.

Mytå

(-18 °C à matin brrrrr !)

aeronav1
 Posté le 04/01/2012 à 17:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour Mytå :
A mon avis le problème n'est pas dans la création de la liste de NAF, un filtre avancé sans doublon et sans aucun critère appliqué à la colonne des NAF de la BDD fait rapidement le travail.
Ça devient difficile quand il faut les cocher individuellement dans la ListBox.
Il serait bon que cogeres se manifeste !

Temps trop chaud pour nous, dangereux pour les plantes, j'ai quelques fleurs de lilas dans mon jardin !



Modifié par aeronav1 le 04/01/2012 17:54
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
SSD Crucial P3 1 To (NVMe, PCIe, M.2, 3500 Mo/s) à 49,99 €
49,99 € 75 € -33%
@Cdiscount
Support Nestling pour ordinateur portable 10 à 17 pouces à 8,50 €
8,50 € 13,99 € -39%
@Amazon
Carte mémoire microSDXC Samsung Pro Ultimate 256 Go (200 Mo/s) à 25,03 €
25,03 € 33,99 € -26%
@Amazon
Ventirad ARCTIC Freezer 36 à 21,55 €
21,55 € 35 € -38%
@Amazon
TV 55 pouces Philips 55OLED769 (4K UHD, 120 Hz, Dolby Vision, Ambilight, Android) à 916,57 €
916,57 € 1200 € -24%
@Amazon Espagne
Smartphone 6.43 pouces Xiaomi Redmi Note 12 (FHD+, 4Go/128Go) à 99,91 €
99,91 € 150 € -33%
@Amazon

Sujets relatifs
excel 2007 Trier et Filtrer grisé
Excel 2007 /Pertes de données , Oui ou NON ?
Excel 2007 graphique ajouter séries de données
Validation de données Excel 2010 vs 2007
excel 2007 validation des données
EXCEL 2007:Base de données/Créer fiche,comment?
Création B. données Excel 2007, élimination Doub
calculer une grande plage de données excel 2007
Onglet données Excel 2007
menu contextuel excel 2007 ne fonctionne plus
Plus de sujets relatifs à EXCEL 2007 Filtrer les données
 > Tous les forums > Forum Bureautique