> 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
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 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
Grosses promotions pour le Super Sale chez Geekbuying
-70% -1 -%
@Geekbuying
Souris Logitech MX Master 3S (bluetooth, capteur laser 8K, clics silencieux)
83,99 € 115 € -27%
@Amazon
VTT électrique Eleglide M2 (29 pouces, freins à disque hydrauliques, Shimano 24 vitesses, 125 km)
694 € 899 € -23%
@Geekbuying
Alimentation modulaire Corsair RM850e 80+ Gold 850W PCIe5, ATX 3.0
109,90 € 149 € -26%
@Amazon
Lot de 4 câbles 1M USB C RAMPOW 60W
5,49 € 10,99 € -50%
@Amazon
Graveuse laser MECPOW X3 PRO 10W (41x40 cm)
189 € 350 € -46%
@Geekbuying

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