Déjà la couleur : A la fin de la macro... comme ceci :
Private Sub Workbook_Open()
Dim derlig As Integer, dercol As Integer, numligne As Integer, i As Integer
ActiveSheet.Range("A2:Z65536").ClearContents
Workbooks.Open Filename:="C:\Documents and Settings\rperez\Mes documents\bureau\base1.xls"
With Workbooks("cible.xls").Sheets("Feuil1")
numligne = .Range("A65536").End(xlUp).Offset(1, 1).Row
End With
derlig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 1), Cells(derlig, 1)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("A" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 2), Cells(derlig, 2)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("H" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 3), Cells(derlig, 3)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("L" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 4), Cells(derlig, 4)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("G" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 5), Cells(derlig, 5)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("D" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 6), Cells(derlig, 6)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("J" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 7), Cells(derlig, 7)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("O" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 9), Cells(derlig, 9)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("P" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 10), Cells(derlig, 10)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("Y" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 11), Cells(derlig, 11)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("AA" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 12), Cells(derlig, 12)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("AB" & numligne)
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 14), Cells(derlig, 14)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("AC" & numligne)
Workbooks("cible.xls").Activate
derlig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
Range("A2").Select
Range("A1:AL" & derlig).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
derlig = Range("AE65536").End(xlUp).Row
For i = 2 To derlig
If Range("AA" & i) <> "" Then
With Range(Cells(i, 1), Cells(i, 38)).Interior
.ColorIndex = 3
End With
End If
Next i
End Sub
2- explication du copier coller :
première partie de la phrase = partie à copier ex:
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 9), Cells(derlig, 9)).Copy
signifie : Classeur"base1", feuille active, Selection de cellules de I2 à I dernière ligne, à copier
la deuxième partie = ou coller? ex :
Workbooks("cible.xls").Sheets("Feuil1").Range("P" & numligne)
signifie coller à : Classeur"cible", Feuille 1, à partir de la cellule P et numligne qui est la variable renseignant la première ligne vide en bas de feuille...
Donc pour copier AA en Q tu devrais avoir quelque chose comme :
Workbooks("base1.xls").ActiveSheet.Range(Cells(2, 27), Cells(derlig, 27)).Copy Workbooks("cible.xls").Sheets("Feuil1").Range("Q" & numligne)
Or je ne vois cela nulle part dans ton code...
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --