Copier lignes dans une autre feuille en fonction des données d'une colonne

benbeto

XLDnaute Nouveau
Bonsoir,

Le titre est légèrement dur à comprendre mais je vais essayer d'être le plus clair possible.
J'ai un tableau dans la feuil3 avec des données particulière dans la colonne "etiquette 7" et je souhaite extraire dans les feuilles correspondante les lignes avec soit une macro soit une formule soit un "bouton"

En gros, lorsque je lance ma macro, formule ou bouton, j'aimerais que les lignes ou le mot "banane" qui est présent dans la colonne "etiquette 7" soit copié dans la feuille "banane" en dessous de la ligne 1 (donc en A2).

Je n'arrive pas du tout à trouver comment faire, j'ai pas l'âme d'un dévellopeur malheureusement :(

Voici mon fichier excel pour que vous compreniez mieux ce que je souhaite faire.

Merci d'avance pour votre aide.
 

Pièces jointes

  • test.xls
    28 KB · Affichages: 102
  • test.xls
    28 KB · Affichages: 120
  • test.xls
    28 KB · Affichages: 111

Modeste

XLDnaute Barbatruc
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonsoir benbeto,

Un petit essai avant d'aller dormir: dans la pièce jointe, et dans chaque feuille "fruitée", en J1, une formule donnant le nom de la feuille (pour autant que le fichier soit enregistré). Dans la feuille "Banane", une proposition par formules ... reste à recopier les formules dans les autres feuilles. Si c'est ok pour toi, il restera à trouver un système (formule ou MFC) pour masquer les messages d'erreur.
Et puis pendant que je dormirai, une proposition par macro arrivera peut-être :D

Edit: Bonjour Yaloo!

Edit (bis): Dans la précipitation, hier soir, j'avais laissé une imperfection dans la formule. Fichier modifié.
 

Pièces jointes

  • benbeto.xls
    40.5 KB · Affichages: 171
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonsoir benbeto, le forum,

Voici un fichier avec macro, envoi de données et suppression si besoin.

A+

Edit : Salut Modeste, ah des formules encore des formules ;)
 

Pièces jointes

  • Test.xls
    53 KB · Affichages: 228
  • Test.xls
    53 KB · Affichages: 217
  • Test.xls
    53 KB · Affichages: 213
Dernière édition:

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonjour,

Merci pour vos réponses, je vais pouvoir essayer de transposer ça sur mon "vrai" fichier afin de voir si cela fonctionne. Je posterais ensuite ici.

Bonne journée à vous

EDIT
------

Super avec la macro et les bouton Yaloo, ça fonctionne tip top. En plus je peux rajouter des données dans la colonne "fruit" et si un onglet porte le même nom ça rajoute directement la ligne sur la feuille. Je pouvais pas espérer mieux ^^.

Je vais faire un autre sujet pour une nouvelle demande car celle-ci est résolu.

Merci à vous encore

Bonne journée
 
Dernière édition:

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Re bonjour,

Je viens de faire le test sur un autre fichier et j'ai une ligne de bug qui correspond a celle-ci (en rouge) quand je transpose sur le fichier :

Private Sub Bouton1_Cliquer()
Dim Ws As Worksheet

'pour une exécution plus rapide et la suppression de scintillements à l'écran
Application.ScreenUpdating = False

'pour chaque onglet du fichier
For Each Ws In Worksheets

'début de la condition : si le nom de l'onglet est différent de "Feul3"
If Not Ws.Name Like "total tickets" Then
DerL = F3.Cells(65536, 1).End(xlUp).Row
DerL_Ws = Ws.Cells(65536, 1).End(xlUp).Row + 1
For i = 2 To DerL
'MsgBox UCase(F3.Cells(i, 7))
If UCase(Ws.Name) = UCase(F3.Cells(i, 7)) Then
F3.Rows(i).Copy Ws.Rows(DerL_Ws)
DerL_Ws = DerL_Ws + 1
End If
Next i
End If
'onglet suivant
Next Ws
Application.ScreenUpdating = True
End Sub

Est-ce que vous pouvez me dire à quoi ça correspond par rapport au fichier Excel que je joint à ce sujet ?

Merci d'avance pour votre retour
 

Pièces jointes

  • Test avec macro.xls
    54.5 KB · Affichages: 99

Yaloo

XLDnaute Barbatruc
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonjour benbeto,

C'est surement parceque ton nom de feuille n'est pas bon.

Tu nous as remis le même fichier que je t'avais envoyé. Il faut surement que tu changes le F3

Regardes dans le fichier ci-dessous

A+
 

Pièces jointes

  • Test avec macro (1).xls
    170.5 KB · Affichages: 141

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonjour Yaloo,

Oui c'était bien ça le problème, du coup cela fonctionne correctement en changeant le nom :)

En revanche, j'ai un autre soucis c'est que quand je lance la macro, cela copie bien les lignes dans les onglets correspondant mais je ne sais pas pourquoi cela saute un onglet.

Par exemple, dans le tableau c'est comme si les onglets "Poire", "Pomme" et "Banane" possédaient bien les lignes copiés mais l'onglet "Tomate" ne possède aucune ligne. La macro a comme ignoré cet onglet.

Merci de ton aide encore une fois, c'est super sympas, puis ça m'apprend beaucoup de chose en même temps c'est cool :)
 

Yaloo

XLDnaute Barbatruc
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonsoir benbeto,

Chez moi ça fonctionne, peux tu mettre un fichier pour voir.

Ca doit aussi être dû à un nom de feuille, parcequ'il n'y a pas de raison apparente pour qu'il y ai une erreur.

Est-ce que le nom de la feuille est exactement écrit de la même façon entre la macro et le nom de l'onglet ?

A+
 

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonjour Yaloo,

Je viens de faire un nouvel essais mais le problème persiste, je t’envoie mon vrai fichier pour que tu constate que l'onglet IDF ne se remplis pas alors que le nom de la feuille est le même que celui dans la colonne.

Merci encore
 

Pièces jointes

  • test.xls
    187 KB · Affichages: 97
  • test.xls
    187 KB · Affichages: 98
  • test.xls
    187 KB · Affichages: 93

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Bonjour laetitia90,

Merci pour ta réponse, en effet cela fonctionne très bien maintenant. Par contre je sais pas pourquoi quand je lance la macro en appuyant sur le bouton, celui-ci rétréci !!!

Après est-ce que c'est faisable de rajouter une fonction trie dans la macro pour pouvoir trier la colonne "Répartition" (colonne J) par ordre du plus récent au plus ancien à savoir <24 h, < 72h, < 1sem, < 2sem, < 1 mois, > 1 mois ?

Ça me permettrait d'éviter de le faire à la main ensuite :)

Merci pour tout
 

laetitia90

XLDnaute Barbatruc
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

rebonjour tous:):):):):)

pour le bouton
j'ai mis un controle active x a la place du formulaire voir si le pb... est le même "rétréci

ton critére c'est plutôt la colonne K ??
 

Pièces jointes

  • filtre2.zip
    23.4 KB · Affichages: 69
  • filtre2.zip
    23.4 KB · Affichages: 75
  • filtre2.zip
    23.4 KB · Affichages: 66

benbeto

XLDnaute Nouveau
Re : Copier lignes dans une autre feuille en fonction des données d'une colonne

Rebonjour,

C'est ça oui la colonne K en fait ça revient au même finalement que la colonne J :D

La macro fonctionne nickel merci beaucoup. Je viens de penser à un autre truc aussi (désolé d'abuser lol en même temps je me forme en déchiffrant les macro :p), en fait j'aimerais une fois les données repartis dans les onglets, que les lignes dont la colonne J ("Répartition") est différente de < 24h et < 48h soient colorés (orange par exemple).

Est-ce que c'est faisable ? Je remet le fichier avec les nouvelles infos (d'ailleurs mon deuxième bouton rétréci aussi je sais pas comment t'as fait pour faire un contrôle active x....) le deuxième bouton sert à remettre les données à zéro dans les onglets.

Merci
 

Pièces jointes

  • filtre2modif.xls
    134.5 KB · Affichages: 107

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 322
Membres
102 862
dernier inscrit
Emma35400