[COLOR=blue]Sub[/COLOR] CopyUsedRangeValues()
'Auteur: Anne Troy
[COLOR=blue]Dim[/COLOR] sh [COLOR=blue]As[/COLOR] Worksheet
[COLOR=blue]Dim[/COLOR] DestSh [COLOR=blue]As[/COLOR] Worksheet
[COLOR=blue]Dim[/COLOR] Last [COLOR=blue]As[/COLOR] [COLOR=blue]Long[/COLOR]
[COLOR=blue]If[/COLOR] SheetExists("Master") = [COLOR=blue]True[/COLOR] [COLOR=blue]Then[/COLOR]
MsgBox "A worksheet called Master already exists"
Exit [COLOR=blue]Sub[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
[COLOR=blue]Set[/COLOR] DestSh = Worksheets.Add
DestSh.Name = "Master"
[COLOR=blue]For Each[/COLOR] sh [COLOR=blue]In[/COLOR] ThisWorkbook.Worksheets
[COLOR=blue]If[/COLOR] sh.Name <> DestSh.Name [COLOR=blue]Then[/COLOR]
[COLOR=blue]If[/COLOR] sh.UsedRange.Count > 1 [COLOR=blue]Then[/COLOR]
Last = LastRow(DestSh)
[COLOR=blue]With[/COLOR] sh.UsedRange
DestSh.Cells(Last + 1, 1).Resize(.Rows.Count, _
.Columns.Count).Value = .Value
[COLOR=blue]End With[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
[COLOR=blue]Next[/COLOR]
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]
[COLOR=blue]Function[/COLOR] LastRow(sh [COLOR=blue]As[/COLOR] Worksheet)
[COLOR=blue]On Error Resume Next[/COLOR]
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=[COLOR=blue]False[/COLOR]).Row
[COLOR=blue]On Error Goto[/COLOR] 0
[COLOR=blue]End Function[/COLOR]