Copier une cellule dans une autre feuille si elle contient un mot spécifique

Fermé
empereurtilleul - 9 juil. 2021 à 15:13
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 - 13 juil. 2021 à 11:51
Bonjour,

J'ai une feuille 1 avec environ 10000 lignes, et je voudrais copier les cellules A si la cellule B contient le "Oui" et les coller dans la colonne B de la feuille 2.
J'ai essayé de faire simplement avec la fonction Filtre mais cela ne marche pas.
J'aurai besoin de votre aide svp

Merci d'avance

Configuration: Windows / Chrome 91.0.4472.124

13 réponses

Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
9 juil. 2021 à 15:31
Bonjour,
Une solution, cette formule sur la feuille 2 en colonne B
=SI(Feuil1!B1="oui";Feuil1!A1;"")

0
empereurtilleul
9 juil. 2021 à 16:04
Je veux copier coller à la suite.
Or entre deux oui, il peut y avoir 200 lignes d’écart.

J’imaginais plus une macro qui regarderai chaque cellule et copie/collerai sur la feuille 2 à la suite.
0
Raymond PENTIER Messages postés 56688 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 28 septembre 2022 17 182
9 juil. 2021 à 19:49
Bonjour.

Pourtant, c'est bien le filtre que j'utiliserais si j'avais à faire ce travail !

"mais cela ne marche pas" -> qu'est-ce qui ne marche donc pas ?

Comme tu n'as pas pensé à joindre de classeur-exemple, j'imagine que si en feuille 1 tu as "ananas" en A2, "pomme" en A3, "poire" en A4 et "kiwi" en A5, ainsi que "OUI" en B3 et B5, tu voudrais que dans la feuille 2, vierge, apparaissent "pomme" en B2 et "kiwi" en B3 ...
C'est bien ça ?
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
10 juil. 2021 à 11:18
Bonjour,
Eh bien essayez de réaliser une macro et si cela ne vas pas vous mettez le fichier sur https://www.cjoint.com/ !
(amicale salut Raymond)
0

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

Posez votre question
yclik Messages postés 2972 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 29 septembre 2022 1 352
10 juil. 2021 à 18:13
Bonsoir
une piste


mis sur la même feuille pour compréhension
en C2 qui serait la 1ere feuille
=SI(B2="Oui";LIGNE();"")

En E2 qui serait la 2ème feuille
=SI(ESTERREUR(PETITE.VALEUR($C$2:$C$10;LIGNE()-1));"";INDEX($A$1:$A$10;PETITE.VALEUR($C$2:$C$10;LIGNE()-1);1))


en E2 sans traitement erreur
=INDEX($A$1:$A$10;PETITE.VALEUR($C$2:$C$10;LIGNE()-1);1)
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
10 juil. 2021 à 22:46
Bonjour,
Eh bien si une macro vous intéresse !
Sub CopierSiColler()
Set modic = CreateObject("Scripting.Dictionary")
n = Cells(Columns(1).Rows.Count, 1).End(xlUp).Row
For i = 2 To n
If Cells(i, 2) = "Oui" Then
cel = Cells(i, 1).Value
modic.Add cel, cel
End If
Next i
Sheets("Feuil2").[b2].Resize(modic.Count).ClearContents
Sheets("Feuil2").[b2].Resize(modic.Count) = Application.Transpose(modic.items)
End Sub
0
Je ne peux pas vous joindre le fichier réel, mais voici un exemple

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

Si j'utilise la fonction filtre:
=FILTRE(Feuil1!B:B;Feuil1!C:C="Oui")


Je recois #REF comme erreur.

Pour éviter cette erreur je veux donc utiliser une macro qui parcourt toutes les cellules de la colonne C, si il y a un "Oui", il copie la cellule B de cette meme ligne, et colle dans la colonne B de la feuille "Interface".

Dans votre code "Le Pingou", la varibale modic n'est pas défini, donc le code ne fonctionne pas
0
yg_be Messages postés 20293 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 septembre 2022 1 225
12 juil. 2021 à 13:08
bonjour,
Pour faire fonctionner le code, Il faut probablement ajouter 'microsoft scripting runtime" dans les références du projet.
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308 > yg_be Messages postés 20293 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 septembre 2022
12 juil. 2021 à 16:54
Bonjour yg_be,
Eh bien non il n'est pas nécessaire d'ajouter ''microsoft scripting runtime" dans les références [VBAProject].
Salutations.
Le Pingou
0
yg_be Messages postés 20293 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 septembre 2022 1 225 > Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022
12 juil. 2021 à 20:41
peux-être a-t-il activé l'option qui oblige à déclarer les variables?
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308 > yg_be Messages postés 20293 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 septembre 2022
12 juil. 2021 à 22:17
Bonjour,
On en saura plus s'il veux bien donner une explication autre que ne fonctionne pas. C'est comme les formules de politesses aussi nombreuses.
Salutations.
Le Pingou
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
Modifié le 12 juil. 2021 à 16:44
Bonjour empereurtilleul,
Vous dites : Dans votre code "Le Pingou", la variabale [modic] n'est pas défini, donc le code ne fonctionne pas
Alors ma réponse est la suivante, il est certain que vous n’avez pas compris à quoi sert cette variable. C'est cette variable qui reçoit les valeurs correctes selon le critère.
Et en plus vous mettez un fichier à disposition et il n'y a même pas le code que j'ai proposée…c'est très fort sympathique. Merci.


J'attend votre réponse pour la suite!

Salutations.
Le Pingou
0
empereurtilleul
13 juil. 2021 à 02:08
Le message d’erreur de votre code le pingou est « variable non défini » sur toutes vos variables que ce soit modic, CEL ou i.
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
Modifié le 13 juil. 2021 à 10:21
Bonjour,
Je transmet toujours un code qui fonctionne parfaitement.
Je suis presque certain que vous avez déclaré vos codes avec [OPTION EXPLICIT] .....
Vous faite une copie de la feuille avec le message d'erreur ainsi que celle de la feuille VBA que vous coller sur le prochain poste.
Merci j'attend!

Salutations.
Le Pingou
0
empereurtilleul
13 juil. 2021 à 10:34
Et bien celui la ne marche pas!
https://www.cjoint.com/c/KGniGcIiYlE

Voici le nouveau message d'erreur;
"Erreur definie par l'application ou par l'objet"
0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
13 juil. 2021 à 10:58
Bonjour,
Cela ne m'étonne pas du tout, j'avais répondu à votre demande du poste 1 (J'ai une feuille 1 avec environ 10000 lignes, et je voudrais copier les cellules A si la cellule B contient le "Oui" et les coller dans la colonne B de la feuille 2. ) donc ce n'est pas la même disposition dans votre fichier (nom de feuille différent ainsi que cellule différente.
C'est un peu comme la politesse, je ne suis pas dans le même bureau donc on tape à la porte avant d'entrée.

0
Le Pingou Messages postés 11232 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 27 septembre 2022 1 308
13 juil. 2021 à 11:51
Bonjour,
Votre fichier: https://mon-partage.fr/f/nsI3LJzL/
0