Bonjour, j'ai essayé avec celle de klin, voilà ce que ça dit:
erreur d'execution 9
le code:
Sub Compilation_Spectres_UV()
Dim i As Long, n As Long
n = 2
Sheets(1).Range("a1").CurrentRegion.Columns(1).Copy Sheets("Compilation").Cells(1)
For i = 1 To 3
With Sheets(i).Range("a1").CurrentRegion
.Cells(8).Copy Sheets("Compilation").Cells(1, n)
.Columns(2).Offset(1).Resize(.Rows.Count - 1).Copy Sheets("Compilation").Cells(2, n)
n = n + 1
End With
Next
With Sheets("Compilation").Cells(1).CurrentRegion
.Rows(1).BorderAround Weight:=xlThin
.Borders(xlInsideVertical).Weight = xlThin
.BorderAround Weight:=xlThin
.Columns.AutoFit
End With
End Sub
Et si j'essaye de copier coller l'autre code ça me dit "impossible en mode arrêt" et ça me surligne la ligne set F1:
Est-ce que ça vient du fait que j'ai voulu changer le titre ?
ps: je ne connais pas grand chose aux macros ni au codage...
Merci à tous les deux
le code:
Sub Compilation_Spectres_UV()
Dim Col As Integer, NbLg As Long
Dim F1 As Worksheet, Ws As Worksheet
Application.ScreenUpdating = False
Set F1 = Sheets("Compilation")
F1.Cells.Clear
For Each Ws In Sheets
If Left(Ws.Name, 11) <> "Compilation" Then
If NbLg = 0 Then
NbLg = Ws.Range("A" & Rows.Count).End(xlUp).Row
Ws.Range("A1:B" & NbLg).Copy F1.Range("A1")
Ws.Range("D2").Copy F1.Range("B1")
Col = 3
Else
Ws.Range("B1:B" & NbLg).Copy F1.Cells(1, Col)
Ws.Range("D2").Copy F1.Cells(1, Col)
Col = Col + 1
End If
End If
Next Ws
F1.Columns("A").Resize(, Col).AutoFit
End Sub