C
claudy
Guest
Bonjour, à tous…
Ci-dessous, une macro que Thierry m'a confectionné…
Ça marche super bien sur mon bon vieux Pentium 2 et office 2000
Par contre sur mon Mac G4, Office X (à mon travail), ça coince!
Ce n'est pas la première fois que j'ai des prob avec Excel et surtout VBA
Pourrait-on m'expliquer s'il vous plait?
Y a t il un spécialiste, dans ce forum, Mac-Excel-VBA?
La macro ci-dessous, fonctionne sur Mac, si je retire les points avant Range(),
Mais c'est très très très lent!
A+
Claudy
Sub TestFraisGeneraux()
Dim PlageTotale As Range, Cel As Range, Dest As Range
Dim FG1 As Range, FG2 As Range, FG3 As Range
With Worksheets("Feuil1")
Set PlageTotale = .Range("B2", .Range("F1").End(xlDown))
Set FG1 = .Range("H3")
Set FG2 = .Range("L3")
Set FG3 = .Range("P3")
End With
Application.ScreenUpdating = False
For Each Cel In PlageTotale
Select Case Cel.Value
Case Range("I2").Value 'Frais généraux1
Set Dest = FG1
Set FG1 = FG1.Offset(1, 0)
Case Range("M2").Value 'Frais généraux2
Set Dest = FG2
Set FG2 = FG2.Offset(1, 0)
Case Range("Q2").Value 'Frais généraux3
Set Dest = FG3
Set FG3 = FG3.Offset(1, 0)
End Select
If Not Dest Is Nothing Then
With Dest
.Value = Cel.Offset(0, 3).Value
.Offset(0, 1).Value = Cel.Offset(0, 1).Value
.Offset(0, 2).Value = Cel.Offset(0, 2).Value
End With
Set Dest = Nothing
End If
Next Cel
Application.ScreenUpdating = True
End Sub
Ci-dessous, une macro que Thierry m'a confectionné…
Ça marche super bien sur mon bon vieux Pentium 2 et office 2000
Par contre sur mon Mac G4, Office X (à mon travail), ça coince!
Ce n'est pas la première fois que j'ai des prob avec Excel et surtout VBA
Pourrait-on m'expliquer s'il vous plait?
Y a t il un spécialiste, dans ce forum, Mac-Excel-VBA?
La macro ci-dessous, fonctionne sur Mac, si je retire les points avant Range(),
Mais c'est très très très lent!
A+
Claudy
Sub TestFraisGeneraux()
Dim PlageTotale As Range, Cel As Range, Dest As Range
Dim FG1 As Range, FG2 As Range, FG3 As Range
With Worksheets("Feuil1")
Set PlageTotale = .Range("B2", .Range("F1").End(xlDown))
Set FG1 = .Range("H3")
Set FG2 = .Range("L3")
Set FG3 = .Range("P3")
End With
Application.ScreenUpdating = False
For Each Cel In PlageTotale
Select Case Cel.Value
Case Range("I2").Value 'Frais généraux1
Set Dest = FG1
Set FG1 = FG1.Offset(1, 0)
Case Range("M2").Value 'Frais généraux2
Set Dest = FG2
Set FG2 = FG2.Offset(1, 0)
Case Range("Q2").Value 'Frais généraux3
Set Dest = FG3
Set FG3 = FG3.Offset(1, 0)
End Select
If Not Dest Is Nothing Then
With Dest
.Value = Cel.Offset(0, 3).Value
.Offset(0, 1).Value = Cel.Offset(0, 1).Value
.Offset(0, 2).Value = Cel.Offset(0, 2).Value
End With
Set Dest = Nothing
End If
Next Cel
Application.ScreenUpdating = True
End Sub