macro : copie de données vers nouvelles feuilles

  • Initiateur de la discussion Initiateur de la discussion mic
  • 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 !

mic

XLDnaute Nouveau
Bonjour les forumeurs

Merci du temps que vous consacrez à ce forum et l'aide que vous apportez à chacun.

Je sollicite donc votre aide ( J'ai parcouru divers posts et trouvé des éléments de réponses mais pas la totalité)

Voici ma requête.

J'ai besoin de créer une macro qui me permettrai de récupérer des données d'une feuille principale vers de nouvelles feuilles en fonction d'un critère.

J'ai créer un exemple : Colonne A : Fruits
Colonne B : Provenance
Colonne C : Quantité

En fonction de chaque fruit ( c'est donc mon critère de sélection ) , je souhaite créer une feuille contenant uniquement les informations du dit fruit ( exemple banane) et j'aimerai que cette nouvelle feuille se nomme " banane " .

En gros , j'aimerai que ma macro fasse un filtre sur un type de fruit , puis crée une nouvelle feuille , nomme cette feuille avec le nom du type de fruit choisi puis copie les informations filtrées vers cette nouvelle feuille.
Et ceci pour chaque fruit ( j'aimerai avoir une feuille banane , une feuille poire ,une feuille pomme etc ...)
En sachant que je ne sais pas à l'avance combien j'aurai de types de Fruit différents.

J'espère que vous m'aurez compris 🙄

Merci d'avance pour votre aide 😉

Bon après midi 🙂
 

Pièces jointes

Re : macro : copie de données vers nouvelles feuilles

Re

C'est ce que je viens de faire (pour le fruit : banane)

Et tu obtiens le code VBA suivant:
Code:
Sub Macro1()
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="banane"
    Selection.CurrentRegion.Select
    Selection.Copy
    Sheets("Feuil1").Select
    Sheets.Add
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("Feuil2").Select
    Sheets("Feuil2").Name = "banane"
    Sheets("Feuil1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("A1").Select
End Sub
Ensuite ce code peut etre simplifié (j'y vais de ce pas)

Voila une première modification
Code:
Sub Macro2()
Dim le_critere As String
le_critere = InputBox("Veuillez saisir votre critère de filtrage, svp" & _
Chr(13) & "ex: banane", "Filtrage par fruit")
Sheets("Feuil1").Range("A1").AutoFilter 1, le_critere
Selection.CurrentRegion.Copy
Sheets.Add
ActiveSheet.Name = le_critere
ActiveSheet.Range("A1").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Feuil1").Select
Application.CutCopyMode = False
Selection.AutoFilter
Range("A1").Select
End Sub
 
Dernière édition:
Re : macro : copie de données vers nouvelles feuilles

Merci Staple1600 😉

J'ai bien des éléments de réponses mais là où ça coince c'est au niveau de la répétion. Comment faire pour créer un feuille par fruit en ne sachant pas combien j'aurai de type de fruit différent ? 🙄
 
Re : macro : copie de données vers nouvelles feuilles

Re


edit: je viens de me souvenir que la procédure d'Eric45 dans ce post
https://www.excel-downloads.com/threads/probleme-pour-copie-une-plage-de-cellule.78485/
peut etre adaptée à ton problème, non?



Une dernière modif (merci MyDearFriend!)
Code:
Sub Macro3()
Dim FeuilleFruit As Worksheet 'source: myDearFriend!
Dim le_critere As String
le_critere = InputBox("Veuillez saisir votre critère de filtrage, svp" & _
Chr(13) & "ex: banane", "Filtrage par fruit")
Sheets("Feuil1").Range("A1").AutoFilter 1, le_critere
Set FeuilleFruit = Sheets.Add 'source: myDearFriend!
Sheets("Feuil1").Range("A1").CurrentRegion.Copy FeuilleFruit.Range("A1")
FeuilleFruit.Name = le_critere
End Sub
-->mic: patience, je vais à mon rythme
pour une macro automatisée à 100% pour tous les fruits

d'autres forumeurs t'indiqueront le chemin
 
Dernière édition:
Re : macro : copie de données vers nouvelles feuilles

Un grand merci Staple1600

Loin de moi l'idée de te brusquer.
Je voulais juste apporter un élément supplémentaire pour la compréhension de mon problème.
Ton rythme est 100 000 fois plus rapide que le mien 😛

Ta macro correspond à mon besoin , si je pouvais l'automatiser ce serait le top , je vais essayer d'adapter celle d'Eric45 ( j'ai eu quelques messages d'erreur) pour voir ce que cela donne.

Mille merci Staple 😉

Bonne soirée 🙂
 
- 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

Retour