× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Excel 2007, extraction feuille 1 dans feuille 2Sujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Cecilia2
  Posté le 24/07/2010 @ 19:44 
Aller en bas de la page 
Petite astucienne

Bonsoir,

J'ai créé un fichier ci-joint dans lequel il y a des saisies chaque jour. Ensuite je souhaite que toutes les lignes qui contiennent 1 dans la colonne code se range dans la feuille 2.

J'ai fait une macro par développeur / enregistrer une macro mais lorsque il y a des saisies supplémentaires dans la feuille 1, ça ne s'ajoute pas dans la feuille 2.
Bien entendu j'ai relié cette macro à un bouton.
Que dois-je rajouter dans cette macro existante ?

http://cjoint.com/?hytDAkcfU1

Bien cordialement,
Cécilia

Publicité
Marmotte18
 Posté le 24/07/2010 à 21:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir Cecilia2,

Je t'ai fait macro suivante :

Sub CopieCode1()
'Effacement intégral des données de Feuil2
'-----------------------------------------
Sheets("Feuil2").Select
Cells.Select
Selection.ClearContents
Range("A1").Select

'Mise en place de filtres automatiques et sélection du code 1
'------------------------------------------------------------
Sheets("Feuil1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=10, Criteria1:="1"

'Copie de la sélection
'---------------------
Range("A1:J65536").Select
Selection.Copy

'Collage de la sélection
'-----------------------
Sheets("Feuil2").Select
Cells.Select
ActiveSheet.Paste

Range("A1").Select

'Suppression des filtres automatiques
'------------------------------------
Sheets("Feuil1").Select

Range("A1").Select
Application.CutCopyMode = False
Selection.AutoFilter

End Sub

Ci-joint le fichier de démonstration : http://www.cijoint.fr/cjlink.php?file=cj201007/cijztEfJyG.xls

Cecilia2
 Posté le 24/07/2010 à 21:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Merci, c'est super. Maintenant, je vais essayer de faire la même chose dans la feuille 3 afin d'extraire les lignes qui ont un code 3. Si je fais un copier coller et changer feuille 3 au lieu de la 2, ça va fonctionner ?
Cécilia

Marmotte18
 Posté le 25/07/2010 à 08:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour Cecilia2,

Pour que cela fonctionne, il faut changer :

  • "Sub CopyCode1" en "Sub CopyCode3" car tu ne peux pas avoir 2 macros qui comportent le même nom. De plus, je suppose que tu as l'intention de conserver les 2 macros.
  • "Feuil2" en "Feuil3"
  • Criteria1:="1" en Criteria1:="3" car c'est bien le code 3 que tu veux sélectionner.
  • Mettre un autre bouton relié à la macro CopyCode3 à moins que tu aies envie de lancer cette macro de façon différente.

A mon avis au lieu de faire une 2e macro, il serait plus judicieux de faire une seule macro qui copie les codes 1 sur Feuil2 et les codes 3 sur Feuil3. Tu devrais essayer de le faire en guise d'entrainement. En effet, il est inutile de mettre en place 2 fois les filtres automatiques pour les enlever 2 fois.

Personnellement, je n'utiliserai aucune macro pour faire ce travail et je ne prendrai pas les services des 2 feuilles additionnelles Feuil2 et Feuil3. En effet, tu as une solution extrêmement simple qui consiste à mettre en place les filtres automatiques, les laisser en place et les utiliser.

Pour cela :

  • clique sur la cellule A1 (1ère cellule de la ligne de titre)
  • clique sur "Données" < "Filtrer" < "Filtres automatiques" => des petits boutons apparaissent à droite de chaque titre
  • clique sur le bouton de la colonne 10 des codes => une liste déroulante apparaît
  • clique sur la valeur 1 pour chercher les codes 1 => les N° de ligne deviennent bleus. Cela indique que tu ne vois pas tout le fichier (un filtre est en place). Pour voir à nouveau tout le fichier, car les enregistrements non affichés ne sont pas perdus, au lieu de cliquer sur "1", clique sur "(tous)". Les N° de ligne reviennent noirs => il n'y a plus de filtres en place
  • clique sur la valeur 3 pour chercher les codes 3 etc. ...

Ce que tu fais dans cette colonne, tu peux aussi le faire dans les autres colonnes.



Modifié par Marmotte18 le 25/07/2010 08:11
Cecilia2
 Posté le 25/07/2010 à 08:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Merci pour ces informations, effectivement j'avais bien penser à faire une seule macro, mais dans un premier temps je voulais comprendre pour une.

Quand au filtre j'avais déjà essayé en utisant le filtre élaboré mais lorsque j'ai voulu l'extraire dans la feuille 2 et 3 je n'ai pas réussi.
Je pense que la sélection que j'effectue n'est pas bonne.

Bonne journée

Marmotte18
 Posté le 25/07/2010 à 10:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Je ne comprends pas pourquoi tu veux absolument copier ta sélection de codes sur Feuil2 et Feuil3, vu qu'on peut tout faire sur Feuil1 avec des filtres automatiques.

Ceci étant dit, tu as raison d'essayer des macros indépendantes dans un premier temps, regroupées dans un autre. C'est un excellent exercice !

m@rina
 Posté le 25/07/2010 à 17:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonjour Cecilia

Cecilia2 a écrit :

Quand au filtre j'avais déjà essayé en utisant le filtre élaboré mais lorsque j'ai voulu l'extraire dans la feuille 2 et 3 je n'ai pas réussi.
Je pense que la sélection que j'effectue n'est pas bonne.

Voici comment procéder pour le filtre élaboré :

- Il faut que tu te positionne sur la feuille qui va recevoir l'extraction, c'est le plus important.
- Tu ouvres la boîte de dialogue "Filtre élaboré", et tu la remplis avec
* la plage de la base de données (que tu peux sélectionner, ou tu donnes le nom si elle est nommée)
* tu dis "copier vers un autre emplacement" et dans la zone "copier dans", tu sélectionnes une cellule de ta feuille qui doit recevoir l'extraction.

Cecilia2
 Posté le 25/07/2010 à 21:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Merci pour vos réponses.

Je souhaite que les codes 1 et 2 soient dans des pages différentes car ensuite il y aura des statistiques.

Quand au filtre élaboré, il est trés intéressant, mais si je veux tous les codes 1 par exemple, il faut que je fasse le filtre avant dans la page source ?

En fait, plusieurs personnes remplissent la feuille 1, donc ce que je souhaitai c'est que toutes les lignes qui concernent le code 1 aillent directement dans la feuille 2, puis toutes celles des codes 2 aillent dans la feuille 3 tout en sachant que la colonne des codes il y en a d'autres.

Donc, si j'ai bien compris, ce n'est pas possible.

Bien cordialement,

m@rina
 Posté le 25/07/2010 à 23:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Bonsoir,

Si tu veux que les données soient automatiquement transférées vers les feuilles au moment de la saisie, ça demande une macro événementielle. Mais dans ton cas, ce n'est pas recommandé. Il peut y avoir des erreurs de saisie, et si tu tapes 2 à la place de 1, la ligne partira en 2 au lieu de partir en 1... Il faudrait ensuite corriger... C'est trop compliqué.

Par contre, tu peux faire une macro qui fait le travail une fois la saisie terminée. Je t'ai mis un exemple ici :

http://cjoint.com/?hzxMAzPFoi

J'ai mis des noms "extensibles" à ta feuille de façon à ce que la macro fonctionne quel que soit le nombre de lignes. Cette méthode sous-entend que tu ne dois rien avoir après ton tableau que j'ai appelé BASE.

Pour que la macro soit rapide, j'ai utilisé le filtre élaboré. La macro utilisera les cellules M1:M2 comme zones de critères. C'est juste qu'il faut le savoir et ne rien mettre dans cette zone.

J'ai nommé les feuilles avec le nom du code, ainsi la macro va mettre dans la feuille code1 tous les codes 1, dans la feuille code2 tous les codes 2, etc. Si tu as d'autres codes, il faudra auparavant que tu crées les feuilles en mettant simplement le nom code suivi du numéro (sans espace). S'il y en a beaucoup, on peut créer une macro.



Modifié par m@rina le 25/07/2010 23:45
Publicité
Cecilia2
 Posté le 27/07/2010 à 22:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir,

Merci pour vos réponses. Marina ta macro fonctionne à merveille.

Marmotte un grand merci également pour la présentation car lorsque l'on est novice ça aide. J'ai essayé de faire une 2ème macro à titre d'essai pour le code 2 à mettre dans la feuille 3. Bien entendu ça ne fonctionne pas, apparemment il y a un problème de filtre. Je souhaitai le mettre en pièce jointe, il fait 3200 ko environ et semble trop lourd pour ci.joint.com.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
42,99 €Casque Audio Logitech G432 à 42,99 €
Valable jusqu'au 28 Octobre

Amazon fait une promotion sur casque Logitech G432 qu'il propose à 42,99 € alors qu'on le trouve ailleurs à partir de 79 €. Ce casque dédié aux joueurs est compatible PC, Xbox, PS4 et Switch. Il possède un micro antiparasite qui pivote, un réglage de volume directement sur le fil et offre un son surround Dolby DTS Headphone 7.1. Connexion par USB ou jack 3.5 mm. La livraison est gratuite.


> Voir l'offre
3ème offert2 jeux de société achetés = le 3ème offert
Valable jusqu'au 26 Octobre

Pour 2 jeux de société achetés sur Fnac.com, le 3ème vous est offert. Une très bonne affaire puisque vous trouverez des références comme 7 Wonders, Concept, Les Aventuriers du Rail, Pandemic, Blanc Manger coco, Dixit, 6 qui prend, Carcassone, ...


> Voir l'offre
114,90 €TP-Link Deco M4 (WiFi Mesh 1200 Mbit/s, jusqu'à 320 m²) x 3 à 114,90 €
Valable jusqu'au 28 Octobre

Amazon fait une promotion sur le kit TP-Link Deco M4 avec 3 satellites qui passe à 114,99 € livré gratuitement alos qu'on le trouve ailleurs à partir de 150 €. Ces 3 satellites Deco travaillent ensemble pour former un seul et unique réseau WiFi, garantissant une connexion rapide importe où que vous êtes. Ils offrent une connexion Mesh WiFi haut débit de 1200 Mbit/s , la possibilité de connecter + de 60 appareils dans votre foyer jusqu'à 320 m² et sans zone morte (si cela ne suffit pas, ajoutez simplement plus de Deco à tout moment pour augmenter la couverture WiFi), idéal pour toute la maison.


> Voir l'offre

Sujets relatifs
Excel 2007 extraction feuille 1 dans feuille 2 avec mise en forme
Excel 2007 Copier/Coller d’une feuille à l’autre Dans un même classeur.
Excel 2007 insérer image dans feuille technique
Déplacer/Copier une feuille dans excel 2007
excel 2007 combien de colonnes dans une feuille ?
2 pages par feuille dans macro excel
mettre a jour liason feuille excel 2007
Bouton macro dans feuille Excel 2010
Excel 2007 extraction dans un autre fichier
déverrouiiler une feuille excel 2007 protégée
Plus de sujets relatifs à Excel 2007, extraction feuille 1 dans feuille 2
 > Tous les forums > Forum Bureautique