Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro pour copier en utilisant un filtre

4 réponses
Avatar
boboleroi
Bonjour à tous, j'espère que vous pourrez m'aider ! ^^

Je dois récupérer les données de clients qui sont sur une feuille ("Flux des
clients") et les copier dans une autre feuille ("temp") pour les comparer
avec d'autres données de ces mêmes clients, et il faut que je les retrouve
grâce à leur numéro SIREN. Donc si le numéro SIREN de la première feuille
(situé dans la colonne M4 par exemple) est retrouvé dans la deuxième (situé
dans la colonne A102 par exemple), je voudrais que ça copie les cellules de
la première feuille (D4:E4) dans la deuxième feuille en F102:G102 ; et que
cette opération se répète pour tous les numéros SIREN de la colonne M de la
première feuille.

Mais je ne vois pas trop comment faire, et je suis pas sûr d'être bien clair
pour vous...

Manuellement ça donne ça :

Sub CA_Export()

Sheets("Flux des clients").Select
Selection.Copy
Sheets("temp").Select
Selection.AutoFilter Field:=1, Criteria1:="=777347386", Operator:=xlAnd
Sheets("Flux des clients").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("temp").Select
Range("F7158:G7158").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub


J'espère que vous pourrez solutionner mon problème, merci d'avance !

4 réponses

Avatar
Corto
Bonjour boboleroi,
Et pourquoi pas utiliser la fonction RECHERCHEV ?

Corto

Bonjour à tous, j'espère que vous pourrez m'aider ! ^^

Je dois récupérer les données de clients qui sont sur un e feuille ("Flux des
clients") et les copier dans une autre feuille ("temp") pour les compar er
avec d'autres données de ces mêmes clients, et il faut que je les retrouve
grâce à leur numéro SIREN. Donc si le numéro SIREN de la première feuille
(situé dans la colonne M4 par exemple) est retrouvé dans la d euxième (situé
dans la colonne A102 par exemple), je voudrais que ça copie les ce llules de
la première feuille (D4:E4) dans la deuxième feuille en F102: G102 ; et que
cette opération se répète pour tous les numéros SIR EN de la colonne M de la
première feuille.

Mais je ne vois pas trop comment faire, et je suis pas sûr d'ê tre bien clair
pour vous...

Manuellement ça donne ça :

Sub CA_Export()

Sheets("Flux des clients").Select
Selection.Copy
Sheets("temp").Select
Selection.AutoFilter Field:=1, Criteria1:="w7347386", Opera tor:=xlAnd
Sheets("Flux des clients").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("temp").Select
Range("F7158:G7158").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNon e, _
SkipBlanks:úlse, Transpose:úlse
End Sub


J'espère que vous pourrez solutionner mon problème, merci d'a vance !



Avatar
boboleroi
Bonjour Corto,

J'ai essayé de regarder avec la fontion RECHERCHEV mais je n'arrive pas à
bien saisir comment elle fonctionne. Dans ma deuxième feuille ("temp") j'ai
beaucoup plus de clients que dans la première (environ 8000 contre un peu
plus de 2000). Je ne sais pas comment faire...


Peux-tu être plus précis s'il te plaît ?

Merci pour ton aide


Bonjour boboleroi,
Et pourquoi pas utiliser la fonction RECHERCHEV ?

Corto

Bonjour à tous, j'espère que vous pourrez m'aider ! ^^

Je dois récupérer les données de clients qui sont sur une feuille ("Flux des
clients") et les copier dans une autre feuille ("temp") pour les comparer
avec d'autres données de ces mêmes clients, et il faut que je les retrouve
grâce à leur numéro SIREN. Donc si le numéro SIREN de la première feuille
(situé dans la colonne M4 par exemple) est retrouvé dans la deuxième (situé
dans la colonne A102 par exemple), je voudrais que ça copie les cellules de
la première feuille (D4:E4) dans la deuxième feuille en F102:G102 ; et que
cette opération se répète pour tous les numéros SIREN de la colonne M de la
première feuille.

Mais je ne vois pas trop comment faire, et je suis pas sûr d'être bien clair
pour vous...

Manuellement ça donne ça :

Sub CA_Export()

Sheets("Flux des clients").Select
Selection.Copy
Sheets("temp").Select
Selection.AutoFilter Field:=1, Criteria1:="w7347386", Operator:=xlAnd
Sheets("Flux des clients").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("temp").Select
Range("F7158:G7158").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
End Sub


J'espère que vous pourrez solutionner mon problème, merci d'avance !






Avatar
Corto
(Re)Bonjour boboleroi,
Cette fonction requiert 4 arguments et se présente ainsi :
=RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proc he)
valeur_cherchée : La valeur à rechercher dans table_matrice
table_matrice : La plage dans laquelle on recherche la valeur (La
valeur doit se trouver dans la première colonne)
no_index_col : La position relative de la colonne à renvoyer
valeur_proche : Booleen toujours à FAUX
Je t'ai fait un petit fichier d'exemple que tu peux télécharger sur
http://cjoint.com/?fEl7VinskY

Corto

Bonjour Corto,

J'ai essayé de regarder avec la fontion RECHERCHEV mais je n'arriv e pas à
bien saisir comment elle fonctionne. Dans ma deuxième feuille ("te mp") j'ai
beaucoup plus de clients que dans la première (environ 8000 contre un peu
plus de 2000). Je ne sais pas comment faire...


Peux-tu être plus précis s'il te plaît ?

Merci pour ton aide



Bonjour boboleroi,
Et pourquoi pas utiliser la fonction RECHERCHEV ?

Corto


Bonjour à tous, j'espère que vous pourrez m'aider ! ^^

Je dois récupérer les données de clients qui sont sur une feuille ("Flux des
clients") et les copier dans une autre feuille ("temp") pour les comp arer
avec d'autres données de ces mêmes clients, et il faut que je les retrouve
grâce à leur numéro SIREN. Donc si le numéro SIRE N de la première feuille
(situé dans la colonne M4 par exemple) est retrouvé dans la deuxième (situé
dans la colonne A102 par exemple), je voudrais que ça copie les cellules de
la première feuille (D4:E4) dans la deuxième feuille en F10 2:G102 ; et que
cette opération se répète pour tous les numéros S IREN de la colonne M de la
première feuille.

Mais je ne vois pas trop comment faire, et je suis pas sûr d'à ªtre bien clair
pour vous...

Manuellement ça donne ça :

Sub CA_Export()

Sheets("Flux des clients").Select
Selection.Copy
Sheets("temp").Select
Selection.AutoFilter Field:=1, Criteria1:="w7347386", Ope rator:=xlAnd
Sheets("Flux des clients").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("temp").Select
Range("F7158:G7158").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlN one, _
SkipBlanks:úlse, Transpose:úlse
End Sub


J'espère que vous pourrez solutionner mon problème, merci d 'avance !








Avatar
boboleroi
Merci beaucoup, grâce à ton exemple je comprends mieux ! J'ai réussi à faire
ce que je voulais ^^

Au revoir


(Re)Bonjour boboleroi,
Cette fonction requiert 4 arguments et se présente ainsi :
=RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)
valeur_cherchée : La valeur à rechercher dans table_matrice
table_matrice : La plage dans laquelle on recherche la valeur (La
valeur doit se trouver dans la première colonne)
no_index_col : La position relative de la colonne à renvoyer
valeur_proche : Booleen toujours à FAUX
Je t'ai fait un petit fichier d'exemple que tu peux télécharger sur
http://cjoint.com/?fEl7VinskY

Corto

Bonjour Corto,

J'ai essayé de regarder avec la fontion RECHERCHEV mais je n'arrive pas à
bien saisir comment elle fonctionne. Dans ma deuxième feuille ("temp") j'ai
beaucoup plus de clients que dans la première (environ 8000 contre un peu
plus de 2000). Je ne sais pas comment faire...


Peux-tu être plus précis s'il te plaît ?

Merci pour ton aide



Bonjour boboleroi,
Et pourquoi pas utiliser la fonction RECHERCHEV ?

Corto


Bonjour à tous, j'espère que vous pourrez m'aider ! ^^

Je dois récupérer les données de clients qui sont sur une feuille ("Flux des
clients") et les copier dans une autre feuille ("temp") pour les comparer
avec d'autres données de ces mêmes clients, et il faut que je les retrouve
grâce à leur numéro SIREN. Donc si le numéro SIREN de la première feuille
(situé dans la colonne M4 par exemple) est retrouvé dans la deuxième (situé
dans la colonne A102 par exemple), je voudrais que ça copie les cellules de
la première feuille (D4:E4) dans la deuxième feuille en F102:G102 ; et que
cette opération se répète pour tous les numéros SIREN de la colonne M de la
première feuille.

Mais je ne vois pas trop comment faire, et je suis pas sûr d'être bien clair
pour vous...

Manuellement ça donne ça :

Sub CA_Export()

Sheets("Flux des clients").Select
Selection.Copy
Sheets("temp").Select
Selection.AutoFilter Field:=1, Criteria1:="w7347386", Operator:=xlAnd
Sheets("Flux des clients").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("temp").Select
Range("F7158:G7158").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
End Sub


J'espère que vous pourrez solutionner mon problème, merci d'avance !