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

empereurtilleul -  
Le Pingou Messages postés 12242 Date d'inscription   Statut Contributeur Dernière intervention   - 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
A voir également:

13 réponses

Le Pingou Messages postés 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Une solution, cette formule sur la feuille 2 en colonne B
=SI(Feuil1!B1="oui";Feuil1!A1;"")

0
empereurtilleul
 
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 58949 Date d'inscription   Statut Contributeur Dernière intervention   17 320
 
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é à dre 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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Eh bien essayez de réaliser une macro et si cela ne vas pas vous mettez le fichier sur https://www.ct.com/ !
(amicale salut Raymond)
0

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

Posez votre question
yclik Messages postés 3835 Date d'inscription   Statut Membre Dernière intervention   1 553
 
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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
empereurtilleul
 
Je ne peux pas vous dre le fichier réel, mais voici un exemple

https://www.ct.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 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582
 
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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458 > yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582 > Le Pingou Messages postés 12242 Date d'inscription   Statut Contributeur Dernière intervention  
 
peux-être a-t-il activé l'option qui oblige à déclarer les variables?
0
Le Pingou Messages postés 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458 > yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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!

0
empereurtilleul
 
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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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!

0
empereurtilleul
 
Et bien celui la ne marche pas!
https://www.ct.com/c/KGniGcIiYlE

Voici le nouveau message d'erreur;
"Erreur definie par l'application ou par l'objet"
0
Le Pingou Messages postés 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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 12242 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Votre fichier: https://mon-partage.fr/f/nsI3LJzL/
0