Macro excel Filtrage et copie
Fermé
jehafa
Messages postés
2
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
10 août 2010
-
10 août 2010 à 15:12
jehafa Messages postés 2 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 10 août 2010 - 10 août 2010 à 18:01
jehafa Messages postés 2 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 10 août 2010 - 10 août 2010 à 18:01
A voir également:
- Macro excel Filtrage et copie
- Liste déroulante excel - Guide
- Formule excel - Guide
- Copie cachée - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
2 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 193
Modifié par lermite222 le 10/08/2010 à 16:42
Modifié par lermite222 le 10/08/2010 à 16:42
Bonjour,
Le mot clé After ne peu être employer qu'en dernière feuille, si tu à 3 feuilles tu peu mettre After:=Sheets(3)
Mais si il est possible d'avoir une feuille ou plusieur il faut tester...
Tu peu remplacer ta copie par...
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Le mot clé After ne peu être employer qu'en dernière feuille, si tu à 3 feuilles tu peu mettre After:=Sheets(3)
Mais si il est possible d'avoir une feuille ou plusieur il faut tester...
Tu peu remplacer ta copie par...
Sub CopierFeuille()
Sheets("feuil1").Copy before:=Sheets(1)
With ActiveSheet
.Name = typedaction
If Sheets.Count > 2 Then
.Move before:=Sheets(3)
Else
.Move After:=Sheets(2)
End If
End With
End Sub
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
jehafa
Messages postés
2
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
10 août 2010
Modifié par jehafa le 11/08/2010 à 08:06
Modifié par jehafa le 11/08/2010 à 08:06
j'ai intégrer ton code au miens mais ça ne fonctionne toujours pas. La copie du nouvel onglet ce fait bien fait ça doit être au niveau du filtre.
Maintenant j'ai une erreur d'exécution '9' : L'indice n'appartient pas à la sélection.
Une idée ??
Maintenant j'ai une erreur d'exécution '9' : L'indice n'appartient pas à la sélection.
Une idée ??
Sub filtre()
Dim rngSelect As Range
Dim I As Integer
typedaction = InputBox("Choix du type d'action", "Filtre des actions")
Worksheets("Trame").Select
Worksheets("Trame").Copy before:=Sheets(1)
With ActiveSheet
.Name = typedaction
If Sheets.Count > 2 Then
.Move before:=Sheets(3)
Else
.Move After:=Sheets(2)
End If
End With
Worksheets("Trame").Select
Worksheets("Trame (2)").Select
Worksheets("Trame (2)").Name = typedaction
For I = 2 To Worksheets.Count
Sheets(I).Select
Range("A1").Select
' filtrage
Selection.AutoFilter Field:=16, Criteria1:=typedaction
' rngSelect = toutes les cellules visibles (non masquées par le filtre)
' contigües à la cellule active
Set rngSelect = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
' copy de la zone sélectionnée
Worksheets("typedaction").Select
Cells(65535, 1).End(xlUp)(2, 0).Range.Select
rngSelect.Paste
Set rngSelect = Nothing
Next I
End Sub