Copie colle lignes sous condition de plusieurs onglets

Fermé
krostif - 6 janv. 2017 à 18:34
 krostif - 9 janv. 2017 à 09:12
Bonjour à tous,
J'ai épluché plusieurs posts sur le sujet mais mon problème contient une particularité que je n'ai pas trouvée...

Je cherche à copier dans le premier onglet (search) les lignes de tous les onglets dont la colonne ANIM contient le mot clef renseigné dans la cellule MOT CLEF de la première feuille.

A titre d'exemple, dans le fichier joint : http://www.cjoint.com/c/GAgrDUHQrHP j'ai mis deux onglets tests (109 et 121) et j'ai rempli (en les copiant à la main) les lignes des onglets "episodes" contenant le mot clef DANSE.

Le but est que ceci se fasse automatiquement des que je renseigne le champs MOT CLEF de la première feuille...

merci d'avance pour vos eclaircissements :)

A voir également:

8 réponses

yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
6 janv. 2017 à 21:11
Quelle est ton expérience en VBA?
0
En toute franchise : nulle

Mes seules expériences consistent à adapter des petits scripts et ou macros dans des langages relativement simples d’accès pour quelqu'un de curieux dés lors que cela n'entre pas dans des notions de programmation trop complexes.

actionscript / javascript / vba sont des languages qu'il m'est dejà arrivé de "manipuler" donc. Mais sans réelle connaissance...
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
6 janv. 2017 à 21:29
Alors, si tu veux apprendre, il vaut mieux commencer par des exercices plus simples.
0
krostif > yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024
6 janv. 2017 à 21:39
toujours en toute franchise je ne cherche pas a apprendre mais à faire. Par necessité et non uniquement par plaisir (même si cela à toujours été pour moi un plaisir d'explorer des terrains inconnus). Disons que j'apprend en marchant comme on dit. Mais si tu penses que c'est de l'ordre de l'inabordable tu peux me le dire franchement.
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
6 janv. 2017 à 23:31
merci pour ta franchise. je pense que ce n'est pas réaliste de te guider pour réaliser cela: il faut que quelqu'un le fasse pour toi.
ce n’était pas clair au départ.
0
krostif > yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024
7 janv. 2017 à 11:14
Ok, je vais essayer d'adapter un script que j'ai trouvé et je reviendrai ici pour les problèmes que je vais immanquablement rencontrer alors.

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 7/01/2017 à 11:33
Bonjour a vous deux,

krostif

votre fichier modifie
entrez lettre pour affichage de toutes les anim qui commencent par la ou les lettres entrees
entrez * pour toutes les anim

https://www.cjoint.com/c/GAhkDLVIFsf

Disons que j'apprends en marchant comme on dit
Bonne marche
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
7 janv. 2017 à 11:49
Suggestion:
Option Explicit

Sub cherche()
Dim ongletcible As Worksheet
Dim ongletrecherche As Worksheet
Dim lignecible As Long
Dim critere As String
Dim lignerecherche As Long

Set ongletcible = ThisWorkbook.Sheets("SEARCH")
lignecible = 6
critere = ongletcible.Cells(2, 2)
For Each ongletrecherche In ThisWorkbook.Sheets
    If ongletcible.Name <> ongletrecherche.Name Then
        lignerecherche = 3
        Do While ongletrecherche.Cells(lignerecherche, 4) <> ""
            If ongletrecherche.Cells(lignerecherche, 4) = critere Then
                ongletrecherche.Rows(lignerecherche).Copy _
                    ongletcible.Rows(lignecible)
                lignecible = lignecible + 1
            End If
            lignerecherche = lignerecherche + 1
        Loop 'Do While recherche.Cells(lignerecherche, 3) <> ""
    End If
Next ongletrecherche
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci yg_be

Bon si je crée une macro et que j'intègre ce code sous libreoffice j'ai une erreur de synthaxe sur le mot Worksheet dés que je la lance...
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
7 janv. 2017 à 17:37
C'est un code VBA pour Microsoft Office.
0
krostif > yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024
7 janv. 2017 à 17:55
hehe je m'en doutais un peu ^^
0
@ f894009

Merci pour ce fichier qui fonctionne à peu près comme je l'imaginais :)

J'ai juste quelques petits problèmes :

Lorsque je rentre un mot clef c'est la ligne du dessus qui est reportée dans la feuille search.

Là j'avais simplifié pour l'exemple mais j'ai des colonnes de données en plus à rajouter (en gros deux fois plus).
J'ai étudié la macro pour voir comment cela fonctionnait (et j'avoue essayer de régler le premier problème mais je n'y suis pas arrivé ! Il me faudra encore marcher ! Et surement un bon moment ^^ ) En revanche, je sais qu'il existe des fonctions de copie de la ligne entière. Ne serait-il pas mieux d'utiliser ceci plutot que d'en recopier chaque champ ?... Cela me permettrait d'ajouter autant de colonne de données que necessaire sans avoir à modifier la macro...

Lorsque je vide le champs "search" il ne se passe rien. Il faut mettre un espace pour que les lignes se vident (ça à la rigueur ce n'est pas très grave) Mais l'idéal serait que lorsque je vide ce champs, la liste se "nettoie" en quelque sorte.

Ci-joint le fichier que j'ai tenté de customiser ^^

http://www.cjoint.com/c/GAhrjffFZQy

En tout cas merci pour ce code très proche de ce que je cherche à obtenir :)

Je vais reprendre ma marche ;)

Et merci à tous pour vos interventions
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 7/01/2017 à 20:57
Re,

Lorsque je rentre un mot clef c'est la ligne du dessus
Ah Bon !!

En revanche, je sais qu'il existe des fonctions de copie de la ligne entière.
Oui, mais pour faire de la recherche en auto bonjour, sauf si vous avez tres peu de feuille avec tres peu de lignes.
Recherchez la derniere colonne utilisee

Lorsque je vide le champs "search" il ne se passe rien
Ben oui, je ne peux pas deviner ce que vous voulez faire

Pourquoi le premier fichier est de l'Excel et le deuxieme de l'Open Office, pouviez pas faire bon du premier coup ?

Peux rien faire de votre fichier ods
0
krostif > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
Modifié par krostif le 7/01/2017 à 21:58

Lorsque je rentre un mot clef c'est la ligne du dessus...
Ah Bon !!


Oui je confirme

Lorsque je vide le champs "search" il ne se passe rien
Ben oui, je ne peux pas deviner ce que vous voulez faire


Pardon de cette remarque qui semble vous choquer vu la nature de la réponse. Pour moi je me représentais basiquement la chose de cette façon : si le champs est vide, alors les lignes ne sont pas remplies. Mais je comprend que c'est beaucoup plus complexe que cette simple réflexion à la logique humaine très éloignée de la logique de programmation.

Pourquoi le premier fichier est de l'Excel et le deuxieme de l'Open Office, pouviez pas faire bon du premier coup ?
Le premier fichier exemple était déjà un fichier ods sauf que je l'avais enregistré en xlsx pour - croyais-je - plus de compatibilité. Visiblement ce n'était pas une bonne idée mais ça ne partait pas d'une mauvaise intention de ma part.

Peux rien faire de votre fichier ods

Pas de problème vous en avez déjà fait beaucoup et je vous en remercie

Cordialement

Ci joint un export xlsx : http://www.cjoint.com/c/GAhu3SDFbLy
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > krostif
8 janv. 2017 à 07:58
Bonjour,

Pardon de cette remarque qui semble vous choquer
Aucun choc, je vais toujours au plus direct avec plus ou moins de diplomatie et c'est en majorite avec plus que moins

Lorsque je rentre un mot clef c'est la ligne du dessus qui est reportée dans la feuille search.
Avec quel fichier: xlsm ou ods de votre cru

Vous voulez que ce soit fait en OpenOffice? Pourquoi et pourquoi pas, puisque vous avez EXCEL
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
Modifié par f894009 le 8/01/2017 à 10:20
Re,

krostif:
Normal les lignes vides dans feuilles 138 et >178 entre les Anim, ca complique un peu

en attendant fichier excel avec lignes et colonnes polymorphe (mais avec ligne vides)
https://www.cjoint.com/c/GAijsFPQxwf
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié par f894009 le 8/01/2017 à 12:17
Re,

Fichier avec feuille SEARCH code avec tableaux pour recuperer les Infos et feuille SEARCH_1 code avec copie de lignes entieres pour les infos a recuperer, vous pourrez constater laquelle des deux programmation est la plus rapide en execution

https://www.cjoint.com/c/GAilpDVPINf

A+
0
@f894009

ce dernier fichier semble coller parfaitement à ma demande. Je vais le tester en situation réelle (en rajoutant des onglets et des lignes et en améliorant la lisibilité des infos à traiter) mais à priori cela me semble impeccable.

Un grand merci à toi. Je te ferais un retour sur la finalité de son utilisation et sois assuré que je laisserai l'indication de la source de ce tableur à l'intérieur même si à priori cela restera un travail en interne.

Plus globalement merci à tous ceux qui ont amené leur contribution à ce sujet.

On m'a promis un kilos de M&M's si je trouvais une solution à ce problème. J'aurais du mal à les partager avec vous pour vous en faire profiter mais le coeur y sera ^^
0