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

Copier-collé après fitrage automatique

8 réponses
Avatar
RV
Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la 1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B) de
cette liste sur une autre feuille sans avoir à définir la plage de cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres, pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV

8 réponses

Avatar
anonymousA
bonjour,

utilises l'enregistreur de macros mais avec un filtre élaboré avec copie sur
une autre feuille.Tu auras ainsi une idée de ce qu'il faut faire car ta
demande relève du filtre élaboré

A+


Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la 1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B) de
cette liste sur une autre feuille sans avoir à définir la plage de cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres, pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV





Avatar
Daniel
Bonjour.
Sélectionne les données des colonnes A et B, filtre puis Edition / Atteindre
/ Cellules / Cellules visibles seulement, copier puis coller où tu veux.
Cordialement.
Daniel
"RV" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même ville)
; en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B) de
cette liste sur une autre feuille sans avoir à définir la plage de cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres,
pour ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV



Avatar
RV
Bonsoir AnonymousA,

Tout ce que j'arrive à faire avec le filtre élaboré, c'est recopier
l'ensemble de mon tableau.
Je n'arrive pas a avoir ce que je souhaite, je ne comprends pas comment cela
fonctionne, même avec l'aide.

Merci

RV


"anonymousA" a écrit dans le message
de news:
bonjour,

utilises l'enregistreur de macros mais avec un filtre élaboré avec copie
sur
une autre feuille.Tu auras ainsi une idée de ce qu'il faut faire car ta
demande relève du filtre élaboré

A+


Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B) de
cette liste sur une autre feuille sans avoir à définir la plage de
cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres,
pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV







Avatar
RV
Bonsoir Daniel,

je fais ce qui est écrit mais je bloque après filtre, Edition
/Atteindre....je ne trouve pas .
Dans Edition je n'ai pas ce choix et je ne sais pas où trouver la suite.

Merci

RV


"Daniel" a écrit dans le message de news:
O9$
Bonjour.
Sélectionne les données des colonnes A et B, filtre puis Edition /
Atteindre / Cellules / Cellules visibles seulement, copier puis coller où
tu veux.
Cordialement.
Daniel
"RV" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ; en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B) de
cette liste sur une autre feuille sans avoir à définir la plage de
cellule par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment faire pour selectionner cette plage de cellules juste
sous les titres, pour ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV







Avatar
RV
En fait ce que je souhaite, c'est que ce soit une macro qui me fasse tout
cela

Merci

RV

"RV" a écrit dans le message de news:
%
Bonsoir AnonymousA,

Tout ce que j'arrive à faire avec le filtre élaboré, c'est recopier
l'ensemble de mon tableau.
Je n'arrive pas a avoir ce que je souhaite, je ne comprends pas comment
cela fonctionne, même avec l'aide.

Merci

RV


"anonymousA" a écrit dans le
message de news:
bonjour,

utilises l'enregistreur de macros mais avec un filtre élaboré avec copie
sur
une autre feuille.Tu auras ainsi une idée de ce qu'il faut faire car ta
demande relève du filtre élaboré

A+


Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B)
de
cette liste sur une autre feuille sans avoir à définir la plage de
cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres,
pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV











Avatar
RV
je n'ai pas précisé que je souhaite faire tout cela à travers une macro

Merci

RV


"RV" a écrit dans le message de news:
%
Bonsoir Daniel,

je fais ce qui est écrit mais je bloque après filtre, Edition
/Atteindre....je ne trouve pas .
Dans Edition je n'ai pas ce choix et je ne sais pas où trouver la suite.

Merci

RV


"Daniel" a écrit dans le message de news:
O9$
Bonjour.
Sélectionne les données des colonnes A et B, filtre puis Edition /
Atteindre / Cellules / Cellules visibles seulement, copier puis coller où
tu veux.
Cordialement.
Daniel
"RV" a écrit dans le message de news:
%
Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ; en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B)
de cette liste sur une autre feuille sans avoir à définir la plage de
cellule par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment faire pour selectionner cette plage de cellules juste
sous les titres, pour ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV











Avatar
anonymousA
re,

un exemple sur une base allant de A1 à Gx ( x étant un nombre à
déterminer), base appratenant à la 1ere feuille du classeur a britant la
macro et dont on suppose que c'est lui qui abrite la base de données.
On suppose aussi que ta base de données a une ligne d'entete sur la
plage A1:G1

Sub copie()

Dim nc As New Collection

On Error Resume Next
Set wsact = Thisworkbook.Sheets(1)

'on déclare une collection des occurences uniques pour les cellules de
'la colonne A
with wsact
For I = 2 To .Range("A65536").End(xlUp).Row
nc.Add .Cells(I, 1).Value, CStr(.Cells(I, 1).Value)
Next
On Error GoTo 0
'ici on déclare une zone de critères pour le filtre élaboré qu'on décide
'mettre en IV1 et IV2 ( la zone de def de champ en IV1 et la zone
'contenant le critère de recherche IV2
.Range("IV1").Value = .Range("A1").Value
End With

'ici on parcourt la collection que l'on avait créée précedemment et
'pour chacune des occurences de celle-ci on fait un filtre dont on
'demande que les résultats soient écrits sur des feuilles que l'on crée
'et dont le nom est égal à l'occurence considérée.

For I = 1 To nc.Count
Set wsdest = ThisWorkbook.Sheets.Add
wsdest.Name = nc(I)
With wsact
.Range("IV2").Value = nc(I)
.Range(.Range("A1"), .Range("G1").End(xlDown)).AdvancedFilter
Action:=xlFilterCopy, CriteriaRange:=.Range("IV1:IV2"),
CopyToRange:=wsdest.Range("A1")
End With
Next

Set nc = Nothing

wsact.Range("IV1:IV2").ClearContents

end sub

Je vois personnellement au moins 3 limites ( ce qui ne veut pas dire
impossibilité mais nécessité de tests au besoin) dans cette proc.
D'abord, on ne teste pas s'il y a quelque chose en IV1 et/ou en IV2 et
on risque de perdre des données.
Ensuite , on ne teste pas la nature du nom de l'occurence donc les
difficultés potentielles à pouvoir créer une feuille portant ce nom ( à
savoir, pas plus de 31 caractères et des caractères interdits eventuels,
pas de cellules vides dans la plage A1 à Ax ne permettant pas de donner
un nom à la feuille).
Enfin, on fait des range("A1").end(xlup).row et range("G1").end(xldown)
des variables de délimitation de plage mais comme je ne connais pas la
nature de ta feuille , il se peut que ceux-ci ne soient pas adaptés.

M'enfin, ca n'a pas l'air de devoir être un programme de pro vendu dans
le commerce. Donc un peu d'incertitude parait posssible et puis il te
reste la possibilité de l'adapter.

A+

En fait ce que je souhaite, c'est que ce soit une macro qui me fasse tout
cela

Merci

RV

"RV" a écrit dans le message de news:
%

Bonsoir AnonymousA,

Tout ce que j'arrive à faire avec le filtre élaboré, c'est recopier
l'ensemble de mon tableau.
Je n'arrive pas a avoir ce que je souhaite, je ne comprends pas comment
cela fonctionne, même avec l'aide.

Merci

RV


"anonymousA" a écrit dans le
message de news:

bonjour,

utilises l'enregistreur de macros mais avec un filtre élaboré avec copie
sur
une autre feuille.Tu auras ainsi une idée de ce qu'il faut faire car ta
demande relève du filtre élaboré

A+



Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce qui
me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B)
de
cette liste sur une autre feuille sans avoir à définir la plage de
cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres,
pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV















Avatar
RV
Re,

Merci pour toutes ces explications que je vais essayer, puis éventuellement
d'adapter à mes besoins, et enfin de comprendre.
En fait c'est pour des besoins perso,... pour me faciliter les recherches.
Merci encore
Bonne soirée
Cordialement

RV


"anonymousA" a écrit dans le message de news:
4296111d$0$25038$
re,

un exemple sur une base allant de A1 à Gx ( x étant un nombre à
déterminer), base appratenant à la 1ere feuille du classeur a britant la
macro et dont on suppose que c'est lui qui abrite la base de données.
On suppose aussi que ta base de données a une ligne d'entete sur la plage
A1:G1

Sub copie()

Dim nc As New Collection

On Error Resume Next
Set wsact = Thisworkbook.Sheets(1)

'on déclare une collection des occurences uniques pour les cellules de 'la
colonne A
with wsact
For I = 2 To .Range("A65536").End(xlUp).Row
nc.Add .Cells(I, 1).Value, CStr(.Cells(I, 1).Value)
Next
On Error GoTo 0
'ici on déclare une zone de critères pour le filtre élaboré qu'on décide
'mettre en IV1 et IV2 ( la zone de def de champ en IV1 et la zone
'contenant le critère de recherche IV2
.Range("IV1").Value = .Range("A1").Value
End With

'ici on parcourt la collection que l'on avait créée précedemment et
'pour chacune des occurences de celle-ci on fait un filtre dont on
'demande que les résultats soient écrits sur des feuilles que l'on crée
'et dont le nom est égal à l'occurence considérée.

For I = 1 To nc.Count
Set wsdest = ThisWorkbook.Sheets.Add
wsdest.Name = nc(I)
With wsact
.Range("IV2").Value = nc(I)
.Range(.Range("A1"), .Range("G1").End(xlDown)).AdvancedFilter
Action:=xlFilterCopy, CriteriaRange:=.Range("IV1:IV2"),
CopyToRange:=wsdest.Range("A1")
End With
Next

Set nc = Nothing

wsact.Range("IV1:IV2").ClearContents

end sub

Je vois personnellement au moins 3 limites ( ce qui ne veut pas dire
impossibilité mais nécessité de tests au besoin) dans cette proc.
D'abord, on ne teste pas s'il y a quelque chose en IV1 et/ou en IV2 et on
risque de perdre des données.
Ensuite , on ne teste pas la nature du nom de l'occurence donc les
difficultés potentielles à pouvoir créer une feuille portant ce nom ( à
savoir, pas plus de 31 caractères et des caractères interdits eventuels,
pas de cellules vides dans la plage A1 à Ax ne permettant pas de donner un
nom à la feuille).
Enfin, on fait des range("A1").end(xlup).row et range("G1").end(xldown)
des variables de délimitation de plage mais comme je ne connais pas la
nature de ta feuille , il se peut que ceux-ci ne soient pas adaptés.

M'enfin, ca n'a pas l'air de devoir être un programme de pro vendu dans le
commerce. Donc un peu d'incertitude parait posssible et puis il te reste
la possibilité de l'adapter.

A+

En fait ce que je souhaite, c'est que ce soit une macro qui me fasse tout
cela

Merci

RV

"RV" a écrit dans le message de news:
%

Bonsoir AnonymousA,

Tout ce que j'arrive à faire avec le filtre élaboré, c'est recopier
l'ensemble de mon tableau.
Je n'arrive pas a avoir ce que je souhaite, je ne comprends pas comment
cela fonctionne, même avec l'aide.

Merci

RV


"anonymousA" a écrit dans le
message de news:

bonjour,

utilises l'enregistreur de macros mais avec un filtre élaboré avec copie
sur
une autre feuille.Tu auras ainsi une idée de ce qu'il faut faire car ta
demande relève du filtre élaboré

A+



Bonjour à tous,

J'ai un tableau à 4 colonnes où le titre des colonnes est incrit sur la
1ère
ligne de la feuille .
Ensuite en colonne A sont inscrit des numéros codiques; en colonne B
des
instituts (qui peuvent avoir le même n° codique puique dans la même
ville) ;
en C l'adresse; enfin en D la ville. Je précise que cette liste
peut-être
évolutive par le nombre d'instituts.
Avec le filtre automatique, je fais une selection par n° codique, ce
qui me
donne une liste.
L'enregistreur de macro m'amene jusque là.
Je souhaiterais alors pouvoir copier les deux premières colonnes (A;B)
de
cette liste sur une autre feuille sans avoir à définir la plage de
cellule
par un nom prédéfini.
Sachant que pour chaque codique appelé le nombre de lignes
diffère,comment
faire pour selectionner cette plage de cellules juste sous les titres,
pour
ensuite la copier sur une autre feuille.
J'espère avoir été simple dans mes explications...

Merci
Cordialement

RV