Copier des lignes sous conditions

bolton2less

Nouveau membre
Bonjour,
j'ai un tableau avec des centres commerciaux et le nombre de magasins ainsi que le CA du centre. Je souhaite copier les lignes des centres qui ont le CA et le nombre de magasins compris dans une fourchette que je détermine et sur une page différente. Je suis novice en VB mais pas non plus totalement débutant. Merci
 

zeb

Modérateur
Salut,

As-tu quelque chose à nous présenter qu'on ferait évoluer vers une solution satisfaisante ?

(Si tu dois nous montrer un bout de code, pense à relire le règlement pour ne pas oublier l'usage de la balise
Code:
 par exemple)[/size]
 

bolton2less

Nouveau membre
en fait j'ai truqué en faisant une formule sur chaque ligne qui renvoie 1 si le CA est compris dans la fourchette et 0 si ce n'est pas le cas. (j'ai créé une page sur laquelle on met la fourchette du CA souhaité)
ensuite j'ai créé un code pour macro qui trie le tableau dans chaque page pour n'afficher que les lignes qui ont le CA souhaité.
A savoir que j'ai un autre critère et donc j'ai deux formules. La macro trie donc sur deux colonnes.
C'est un peu bidon mais ça m'a permis déjà de biaisé. Je préférerais coller toutes les lignes concernées de chaque page dans une nouvelle pour une meilleure visibilité et que ça soit plus synthétique.

Le code est le suivant mais il en faudrait totalement un autre sur lequel je n'ai aucune idée :

Sub Macro5()
'
' Macro5 Macro
'

'
Sheets("région1").Select
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V39")
Range("U5:V39").Select
Cells.Select
Range("P1").Activate
Selection.AutoFilter
Sheets("région2").Select
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V47")
Range("U5:V47").Select
Cells.Select
Range("S1").Activate
Selection.AutoFilter
Sheets("région3").Select
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V42")
Range("U5:V42").Select
Cells.Select
Range("P1").Activate
Selection.AutoFilter
Sheets("région4").Select
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V12")
Range("U5:V12").Select
Cells.Select
Range("O1").Activate
Selection.AutoFilter
Sheets("région5").Select
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V35")
Range("U5:V35").Select
Cells.Select
Range("P1").Activate
Selection.AutoFilter
Sheets("région6").Select
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
Range("U5:V5").Select
Selection.AutoFill Destination:=Range("U5:V29")
Range("U5:V29").Select
Cells.Select
Range("R1").Activate
Selection.AutoFilter
Sheets("région7").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
Range("U6:V6").Select
Selection.AutoFill Destination:=Range("U6:V40")
Range("U6:V40").Select
Cells.Select
Range("P1").Activate
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Selection.AutoFilter
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=21, Criteria1:= _
"=1", Operator:=xlOr, Criteria2:="="
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=22, Criteria1:= _
"=1", Operator:=xlOr, Criteria2:="="
Sheets("région6").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveSheet.Range("$A$1:$AC$29").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$AC$29").AutoFilter Field:=22, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
Sheets("région5").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveSheet.Range("$A$1:$V$35").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$V$35").AutoFilter Field:=22, Criteria1:="="
Sheets("région4").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveSheet.Range("$A$1:$V$12").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$V$12").AutoFilter Field:=22, Criteria1:="="
Sheets("région3").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveSheet.Range("$A$1:$V$44").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$V$44").AutoFilter Field:=22, Criteria1:="="
Sheets("région2").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveSheet.Range("$A$1:$AD$47").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$AD$47").AutoFilter Field:=22, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
Sheets("région1").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveSheet.Range("$A$1:$V$40").AutoFilter Field:=21, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
ActiveSheet.Range("$A$1:$V$40").AutoFilter Field:=22, Criteria1:="=1", _
Operator:=xlOr, Criteria2:="="
Sheets("région7").Select
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région6").Select
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région5").Select
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région4").Select
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région3").Select
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région2").Select
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
Sheets("région1").Select
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A1").Select
End Sub


merci
 

zeb

Modérateur
(Si tu dois nous montrer un bout de code, pense à relire le règlement pour ne pas oublier l'usage de la balise
Code:
 par exemple)[/size][/b][/quote]N'avais-je pas pris la peine de t'affranchir ?
Peine perdue... :pfff:
 

bolton2less

Nouveau membre
je n'avais pas vu la petite phrase en caractère taille 4. Je suis vraiment désolé si vous saviez à quel point. Je me flagelle depuis une heure. Votre réponse est si sympathique. A force de parler qu'en code vous en oubliez peut-être un peu les codes de language civilisé.
je vous aime, bisous à tous
 

zeb

Modérateur
Salut Bolton,

Par principe, tu es censé avoir lu le règlement. Aussi, pour ne pas vexer ceux qui avaient prévu de le respecter, je ne mets mes rappels qu'en tout petit.

A force de parler qu'en code vous en oubliez peut-être un peu les codes de language civilisé.
J'ai un peu peur que tu ais raison. Je me rassure en me raccrochant à ça :
Vous devez être connecté pour voir les images.

Si tu souhaites qu'on t'aide ici, - et je te promets que tu obtiendras une réponse satisfaisante - à la place de l'auto-flagellation, ou de braquer le modérateur, je te propose plutôt d'éditer ton message (icône blanche ou noir avec un éclair orange en bas à droite du message incriminé) pour y ajouter deux balises.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 827
Membres
1 586 367
Dernier membre
ramkin
Partager cette page
Haut