J'ai un classeur qui a 5 feuilles nommées "60", "61", "62", "63", "TOTAL".
Je souhaite trouver la macro qui rapidement va me consolider l'ensemble des
lignes des feuilles "60", "61", "62", "63" dans la feuille "TOTAL". Mais
petit plus, les lignes à consolider sont uniquement les lignes qui ont pour
valeur dans les cellules de la colonne "A" la mention "Intérim".
J'avais ce code qui marchait super bien car super rapide (sur un autre cas)
mais qui ne convien plus car il ne prennait pas en compte le critère : valeur
de la collone A doit être = à "intérim"
Dim ws
Dim wsdesti As Worksheet
Dim plage As Range
Dim derligne As Long
Set wsdesti = Worksheets("TOTAL")
For Each ws In Array("R05", "S06", "R02", "R03", "R04", "R06", "R01")
With Sheets(ws).UsedRange
Set plage = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)
End With
derligne = wsdesti.Range("a65536").End(xlUp).Row + 1
plage.Copy Destination:=wsdesti.Cells(derligne, 1)
Next ws
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonsoir,
Sub consolide_onglets3() Sheets(1).Select Sheets(1).[A1].CurrentRegion.Offset(1, 0).Clear For Each s In Array("France", "Italie", "Espagne") Sheets(s).[A1].AutoFilter Field:=1, Criteria1:="Intérim" Sheets(s).Range("_FilterDataBase").Offset(1, 0).Resize(Sheets(s).Range("_FilterDataBase"). _ Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy _ Sheets(1).[A65000].End(xlUp).Offset(1, 0) Next s End Sub
JB
On 14 mar, 18:06, Daniel wrote:
Bonjour à tous le forum,
J'ai un classeur qui a 5 feuilles nommées "60", "61", "62", "63", "TOTA L".
Je souhaite trouver la macro qui rapidement va me consolider l'ensemble d es lignes des feuilles "60", "61", "62", "63" dans la feuille "TOTAL". Mais petit plus, les lignes à consolider sont uniquement les lignes qui ont pour valeur dans les cellules de la colonne "A" la mention "Intérim".
J'avais ce code qui marchait super bien car super rapide (sur un autre ca s) mais qui ne convien plus car il ne prennait pas en compte le critère : valeur de la collone A doit être = à "intérim"
Dim ws Dim wsdesti As Worksheet Dim plage As Range Dim derligne As Long Set wsdesti = Worksheets("TOTAL") For Each ws In Array("R05", "S06", "R02", "R03", "R04", "R06", "R01") With Sheets(ws).UsedRange Set plage = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Coun t) End With derligne = wsdesti.Range("a65536").End(xlUp).Row + 1 plage.Copy Destination:=wsdesti.Cells(derligne, 1) Next ws
Merci d'avance à tous pour vos réponses.
Bonsoir,
Sub consolide_onglets3()
Sheets(1).Select
Sheets(1).[A1].CurrentRegion.Offset(1, 0).Clear
For Each s In Array("France", "Italie", "Espagne")
Sheets(s).[A1].AutoFilter Field:=1, Criteria1:="Intérim"
Sheets(s).Range("_FilterDataBase").Offset(1,
0).Resize(Sheets(s).Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy _
Sheets(1).[A65000].End(xlUp).Offset(1, 0)
Next s
End Sub
JB
On 14 mar, 18:06, Daniel <Dan...@discussions.microsoft.com> wrote:
Bonjour à tous le forum,
J'ai un classeur qui a 5 feuilles nommées "60", "61", "62", "63", "TOTA L".
Je souhaite trouver la macro qui rapidement va me consolider l'ensemble d es
lignes des feuilles "60", "61", "62", "63" dans la feuille "TOTAL". Mais
petit plus, les lignes à consolider sont uniquement les lignes qui ont pour
valeur dans les cellules de la colonne "A" la mention "Intérim".
J'avais ce code qui marchait super bien car super rapide (sur un autre ca s)
mais qui ne convien plus car il ne prennait pas en compte le critère : valeur
de la collone A doit être = à "intérim"
Dim ws
Dim wsdesti As Worksheet
Dim plage As Range
Dim derligne As Long
Set wsdesti = Worksheets("TOTAL")
For Each ws In Array("R05", "S06", "R02", "R03", "R04", "R06", "R01")
With Sheets(ws).UsedRange
Set plage = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Coun t)
End With
derligne = wsdesti.Range("a65536").End(xlUp).Row + 1
plage.Copy Destination:=wsdesti.Cells(derligne, 1)
Next ws
Sub consolide_onglets3() Sheets(1).Select Sheets(1).[A1].CurrentRegion.Offset(1, 0).Clear For Each s In Array("France", "Italie", "Espagne") Sheets(s).[A1].AutoFilter Field:=1, Criteria1:="Intérim" Sheets(s).Range("_FilterDataBase").Offset(1, 0).Resize(Sheets(s).Range("_FilterDataBase"). _ Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy _ Sheets(1).[A65000].End(xlUp).Offset(1, 0) Next s End Sub
JB
On 14 mar, 18:06, Daniel wrote:
Bonjour à tous le forum,
J'ai un classeur qui a 5 feuilles nommées "60", "61", "62", "63", "TOTA L".
Je souhaite trouver la macro qui rapidement va me consolider l'ensemble d es lignes des feuilles "60", "61", "62", "63" dans la feuille "TOTAL". Mais petit plus, les lignes à consolider sont uniquement les lignes qui ont pour valeur dans les cellules de la colonne "A" la mention "Intérim".
J'avais ce code qui marchait super bien car super rapide (sur un autre ca s) mais qui ne convien plus car il ne prennait pas en compte le critère : valeur de la collone A doit être = à "intérim"
Dim ws Dim wsdesti As Worksheet Dim plage As Range Dim derligne As Long Set wsdesti = Worksheets("TOTAL") For Each ws In Array("R05", "S06", "R02", "R03", "R04", "R06", "R01") With Sheets(ws).UsedRange Set plage = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Coun t) End With derligne = wsdesti.Range("a65536").End(xlUp).Row + 1 plage.Copy Destination:=wsdesti.Cells(derligne, 1) Next ws