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

Consolider les lignes de plusieurs feuilles

1 réponse
Avatar
Daniel
Bonjour à tous le forum,

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


Merci d'avance à tous pour vos réponses.

1 réponse

Avatar
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.