[DDE]selection multiple dans un tableau Excel
Bonjour,
Petit souci avec un tableau Excel dans un cadre d'objet indépendant.
Je n'arrive pas à faire une séléction multiple de cellule.
Sous Excel, le code suivant marche très bien:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Sub Macro1()
Dim obj As Range, x As Byte, y As Byte
With Worksheets(1)
Set obj = .Range(.Cells(4, 2), .Cells(6, 3))
For x = 2 To 18 Step 4
For y = 4 To 28 Step 6
If x <> 8 / y Then Set obj = Union(.Range(.Cells(y, x), .Cells(y + 2, x + 1)), obj)
Next
Next
With obj
...
...
End With
End With
End Sub |
Sous access, le code suivant ne marche pas:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Private Sub macro1()
Dim x As Byte, y As Byte, obj As Range, exc As Worksheet
Set exc = cadreindependant.Controls(1).Object.Worksheets(1)
With exc
Set obj = .Range(.Cells(4, 2), .Cells(6, 3))
For x = 2 To 18 Step 4
For y = 4 To 28 Step 6
If x <> 8 / y Then Set obj = Union(.Range(.Cells(y, x), .Cells(y + 2, x + 1)), obj)
Next
Next
With obj
...
...
End With
End With
End Sub |
Le "Union" ne passe plus lors de l'execution et j'obtient l'erreur :
Erreur d'exécution '1004':
La méthode 'Union' de l'objet '_Global' a échoué
Qu'est ce qui ne va pas?
Question bonus:
si je remplace par J'obtient une erreur de dépacement de capacité lorsque x * y dépasse 255. Pourtant je n'attribue rien a ces variables... Comment VBA gère les variables lors des opérations arithmétiques?