L
lili_alex
Guest
Bonjour à tous
J'ai un petit problème que j'aimerai bien qu'on m'aide à résoudre.
Voilà j'ai fait une macro mais elle est trop longue et je en sais pas comment la simplifier.
Je fais toujours la même fonction mais dans presque 50 classeurs différents : cette fonction est de copier certaines données de chaque classeur et de les mettre dans un seul classeur.
Voici la macro (je ne vous fais voir que le début) :
Application.ScreenUpdating = False
Sheets("Feuil1").Select
Range("A19").Select
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A19").Select
ChDir _
"D:\documents and Settings\90031689\My Documents"
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Argentina.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Argentina.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Argentina.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Argentina.xls").Activate
ActiveWindow.Close
End If
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Algeria.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Algeria.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Algeria.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Algeria.xls").Activate
ActiveWindow.Close
End If
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Armenia.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Armenia.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Armenia.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Armenia.xls").Activate
ActiveWindow.Close
End If
Application.ScreenUpdating = True
End Sub
Si quelqu'un peut m'aider.
Merci d'avance.
J'ai un petit problème que j'aimerai bien qu'on m'aide à résoudre.
Voilà j'ai fait une macro mais elle est trop longue et je en sais pas comment la simplifier.
Je fais toujours la même fonction mais dans presque 50 classeurs différents : cette fonction est de copier certaines données de chaque classeur et de les mettre dans un seul classeur.
Voici la macro (je ne vous fais voir que le début) :
Application.ScreenUpdating = False
Sheets("Feuil1").Select
Range("A19").Select
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A19").Select
ChDir _
"D:\documents and Settings\90031689\My Documents"
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Argentina.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Argentina.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Argentina.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Argentina.xls").Activate
ActiveWindow.Close
End If
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Algeria.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Algeria.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Algeria.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Algeria.xls").Activate
ActiveWindow.Close
End If
Workbooks.Open Filename:= _
"D:\documents and Settings\90031689\My Documents\Armenia.xls"
Range("A19").Select
If Range("A19").Formula = "" Then
Windows("Armenia.xls").Activate
ActiveWindow.Close
ElseIf Range("A20").Formula = "" Then
Range("A19:O19").Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Select
Windows("Armenia.xls").Activate
ActiveWindow.Close
Else
Range("A19:O19").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Recap.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows("Armenia.xls").Activate
ActiveWindow.Close
End If
Application.ScreenUpdating = True
End Sub
Si quelqu'un peut m'aider.
Merci d'avance.