Bonjour à tous,

J'ai une macro toute simple qui fait un copier/coller, (je me suis inspiré d'un exemple sur le forum)
quand je la lance toute seule, elle fonctionne bien.
Quand elle est insérée dans une macro principale avec des appels à de petites subroutines, elle ne fonctionne plus.
Même si je me positionne sur elle en faisant du pas à pas, j'ai une erreur du style ci-dessous sur la ligne 60.

J'arrive pas à comprendre, en plus c'est la seule macro dans mon enchainement qui a cette erreur.

si quelqu'un a une piste....merci d'avance


Nom : Capture du 2018-01-03 16-15-33.png
Affichages : 50
Taille : 14,6 Ko




Le code :

Code oBasic : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
REM  *****  BASIC  *****
 
Sub CopierColler() 
 
Dim document   as Object
Dim LesFeuilles as Object
Dim maFeuille as Object
Dim maCellule as Object
Dim dispatcher as Object
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Dim Args(),Opts()
Dim Nbjou, PosEff as Integer
 
 
' Classeur courant
Doc = ThisComponent
SheetCopy = Doc.Sheets().getByName("Feuille1")
' on copie la plage de cellules source
oRange = SheetCopy.getCellRangeByName("B7:E70")
da = oRange.getDataArray
' on choisit la feuille de destination
SheetPaste = Doc.Sheets().getByName("Feuille1")
' on colle la plage de cellules source dans la plage destination
oRange = SheetPaste.getCellRangeByName("G7:J70") 'la plage doit être de même taille que celle de la source
oRange.setDataArray(da)
 
rem ----------------------------------------------------------------------
 
dim args11(9) as new com.sun.star.beans.PropertyValue
args11(0).Name = "ByRows"
args11(0).Value = true
 
args11(1).Name = "HasHeader"
args11(1).Value = true
 
args11(2).Name = "CaseSensitive"
args11(2).Value = false
 
args11(3).Name = "NaturalSort"
args11(3).Value = false
 
args11(4).Name = "IncludeAttribs"
args11(4).Value = true
 
args11(5).Name = "UserDefIndex"
args11(5).Value = 0
 
args11(6).Name = "Col1"
args11(6).Value = 7
 
args11(7).Name = "Ascending1"
args11(7).Value = false
 
args11(8).Name = "Col2"
args11(8).Value = 9
 
args11(9).Name = "Ascending2"
args11(9).Value = true
 
dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args11())
 
End Sub