O
Olivier
Guest
Bonjour à tous,
Je vais essayer d'être clair pour une fois ( ça devrait faire plaisir à Papy )..
J'ai récupéré une macro trés utile ( surtout à moi ) que Thierry a réalisé pour pouvoir copier ds une feuille différente une sélection faite grace à un filtre auto.
J'aimerais pouvoir insérer au début de cette macro la procédure de filtreauto et de sélection de critère.
J'ai essayé en rajoutant les lignes ( selection filterauto....) au début de la macro de copie, ça ne fonctionne pas, la macro ne copie que qu'une ou deux lignes..
Si qq'1 avait la solution miracle ça m'arrangerait bien, je souhaite pouvoir rendre ma copie de base de données lundi....
Olivier
Ma base ressemble à:
NOM ----Société---Peinture---Maçon
Voici les deux macros dont j'aimerais faire qu'une :
* Macro de filtre et sélection :
Sub Filtre()
Range("A11").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:="VRAI"
End Sub
* Macro de "copie de sélection" :
Sub FiltreReport()
Dim cell As Range
Dim MaPlage As Range
Dim i As Integer
Dim iF2 As Integer
Dim ZoneA() As String, ZoneB() As String, ZoneC() As String, ZoneD() As String
Sheets(2).Range("a2:d100").ClearContents
iF2 = 2
Set MaPlage = Sheets("Feuil1").Range("A2", [A65536].End(xlUp))
Set MaPlage = MaPlage.SpecialCells(xlCellTypeVisible)
ReDim ZoneA(0 To MaPlage.Count - 1)
ReDim ZoneB(0 To MaPlage.Count - 1)
ReDim ZoneC(0 To MaPlage.Count - 1)
ReDim ZoneD(0 To MaPlage.Count - 1)
For Each cell In MaPlage
ZoneA(i) = cell.Value
Sheets("Feuil2").Range("A" & iF2) = ZoneA(i)
ZoneB(i) = cell.Offset(0, 1)
Sheets("Feuil2").Range("B" & iF2) = ZoneB(i)
ZoneC(i) = cell.Offset(0, 2)
Sheets("Feuil2").Range("C" & iF2) = ZoneC(i)
ZoneD(i) = cell.Offset(0, 3)
Sheets("Feuil2").Range("D" & iF2) = ZoneD(i)
i = i + 1
iF2 = iF2 + 1
Next cell
Selection.AutoFilter
End Sub
Je vais essayer d'être clair pour une fois ( ça devrait faire plaisir à Papy )..
J'ai récupéré une macro trés utile ( surtout à moi ) que Thierry a réalisé pour pouvoir copier ds une feuille différente une sélection faite grace à un filtre auto.
J'aimerais pouvoir insérer au début de cette macro la procédure de filtreauto et de sélection de critère.
J'ai essayé en rajoutant les lignes ( selection filterauto....) au début de la macro de copie, ça ne fonctionne pas, la macro ne copie que qu'une ou deux lignes..
Si qq'1 avait la solution miracle ça m'arrangerait bien, je souhaite pouvoir rendre ma copie de base de données lundi....
Olivier
Ma base ressemble à:
NOM ----Société---Peinture---Maçon
Voici les deux macros dont j'aimerais faire qu'une :
* Macro de filtre et sélection :
Sub Filtre()
Range("A11").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:="VRAI"
End Sub
* Macro de "copie de sélection" :
Sub FiltreReport()
Dim cell As Range
Dim MaPlage As Range
Dim i As Integer
Dim iF2 As Integer
Dim ZoneA() As String, ZoneB() As String, ZoneC() As String, ZoneD() As String
Sheets(2).Range("a2:d100").ClearContents
iF2 = 2
Set MaPlage = Sheets("Feuil1").Range("A2", [A65536].End(xlUp))
Set MaPlage = MaPlage.SpecialCells(xlCellTypeVisible)
ReDim ZoneA(0 To MaPlage.Count - 1)
ReDim ZoneB(0 To MaPlage.Count - 1)
ReDim ZoneC(0 To MaPlage.Count - 1)
ReDim ZoneD(0 To MaPlage.Count - 1)
For Each cell In MaPlage
ZoneA(i) = cell.Value
Sheets("Feuil2").Range("A" & iF2) = ZoneA(i)
ZoneB(i) = cell.Offset(0, 1)
Sheets("Feuil2").Range("B" & iF2) = ZoneB(i)
ZoneC(i) = cell.Offset(0, 2)
Sheets("Feuil2").Range("C" & iF2) = ZoneC(i)
ZoneD(i) = cell.Offset(0, 3)
Sheets("Feuil2").Range("D" & iF2) = ZoneD(i)
i = i + 1
iF2 = iF2 + 1
Next cell
Selection.AutoFilter
End Sub