Copier/coller selon un critère

  • Initiateur de la discussion Initiateur de la discussion kiff77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kiff77

XLDnaute Junior
Bonjour à tous,

Je sollicite vos services pour l'amélioration de ma macro.
Dans le fichier ci joint j'ai 5 onglets:
- Table ==> permet d'afficher le secteur par rapport au groupe
- BDD
- FS/CIPS/TS/Non cadre ==> accueil les données de l'onglet BDD. Pour les onglets FS/CIPS/TS l'extract doit se faire par rapport à la colonne F de l'onglet BDD alors que pour l'onglet non cadre l'extract doit se faire par rapport à la colonne E de l'onglet BDD.

Dans mon vrai fichier j'ai évidement plus d'onglet "d'accueil" (45).

Voici un bout de ma macro:

Range("A2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=6, Criteria1:="FS"
Range("A2:F49").Select
Selection.Copy
Sheets("FS").Select
Range("A4").Select
ActiveSheet.Paste

J'ai donc 4 fois ce bout de macro dans mon fichier.

Est il possible d'avoir une macro qui effectue le même travail sur tous les onglets situés à droite de l'onglet BDD (il ne faut pas touché à l'onglet table)?

Merci d'avance pour vos réponses
A+
Kiff
 

Pièces jointes

Re : Copier/coller selon un critère

Bonjour,

voicic une proposition:

Code:
Sub extract()
  Application.ScreenUpdating = False
'la boucle suivante traite les feuille depuis la 3e jusqu'a l'avant dernière
  For i = 3 To Sheets.Count - 1
    Range("F2").AutoFilter Field:=6, Criteria1:=Sheets(i).Name
    Range("A2").CurrentRegion.Copy Sheets(i).Range("A4")
  Next
'traitement de la dernière feuille
  Range("F2").AutoFilter Field:=6
  Range("E2").AutoFilter Field:=5, Criteria1:="Non Cadre"
  Range("A2").CurrentRegion.Copy Sheets("Non Cadre").Range("A4")
  ActiveSheet.ShowAllData
  Application.ScreenUpdating = True
End Sub

Tu remarquera au passage la suppression des lignes avec .Select qui rallonge la macro et son temps d'exécution 😉
 
Re : Copier/coller selon un critère

bonjour Kiff

Vois si cela te convient

Note: Il n'y a pas de Non Cadre dans la colonne 6

Edit: Salut Skoobi 🙂
Avais pas rafraichi !!
 

Pièces jointes

Re : Copier/coller selon un critère

Bonjour,

Merci à tous les deux pour vos réponses.
Je vais tester vos réponses sur mon vrai fichier.

Pierrejean, je me suis peut être mal exprimé mais je veux remplir les onglets FS/CIPS/TS selon les valeurs de la colonne F de l'onglet BDD et remplir l'onglet non cadre selon les valeurs de la colonne E.

Je vous tiens aux news
Encore merci
A+
Kiff
 
Re : Copier/coller selon un critère

Re

Version avec Non Cadre
Nb: par rapport a la version Skoobi le remplissage se fait sur toutes les feuilles a l'exception de BD et Table quelle que soit leurs positions (ce qui d'ailleurs n'est pas necessairement la meilleure methode)
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
2
Affichages
1 K
Legendre
L
T
Réponses
5
Affichages
3 K
T
M
Réponses
2
Affichages
1 K
M
L
Réponses
5
Affichages
2 K
lumiexcel
L
V
Réponses
0
Affichages
20 K
vdh_xavier
V
W
Réponses
5
Affichages
1 K
Walkman
W
Retour