problème de lancement de macro

Bonjour,
J’ai créé une macro, hélas lorsque je lance le bouton d’exécution, celle ci ne va pas jusqu’au bout et me sort en réponse uniquement les titres de mon tableau de départ.

Voici la macro en question , est ce que quelqu’un verrait où est mon erreur ? Merci d’avance pour vos réponses et votre aide !

sub essai1_macro_finale()

dim oClasseur as object, oFeuilleDep as object, oPlageDep as object
dim oFeuilleArr as object, oCellArr as object, oCellCrit as object
dim oFiltre as object
dim oCellCrit2 as object
dim oCellCrit3 as object
dim oCellCrit4 as object
dim oDonnees as object
dim oChampFiltre0 (0) As New com.sun.star.sheet.TableFilterField
dim oChampFiltre1 (1) As New com.sun.star.sheet.TableFilterField

oClasseur = thisComponent 'défini le classeur courant
oFeuilleDep = oClasseur.Sheets.getByName(“Donnees”)
oPlageDep = oFeuilleDep.getCellRangeByName(“A1:L1”) 'sélectionner la plage de cellule de titre à prendre en compte
oFeuilleArr = oClasseur.Sheets.getByName(“Param”)
oCellArr = oFeuilleArr.getCellRangeByName(“I7”) 'cellule où copier le résultat

oFeuilleArr.copyrange(oCellArr.CellAddress, oPlageDep.rangeAddress)

oPlageDep = oFeuilleDep.getCellRangeByName(“A1:L16”) 'sélection de la plage de données de départ
oFiltre = oPlageDep.createFilterDescriptor(true) 'création de l’outil de filtrage et affectation à la zone à filtrer

oCellCrit = oFeuilleDep.getCellRangeByName(“I3”) 'selection de la case du critere 1
oCellCrit2 = oFeuilleDep.getCellRangeByName(“J3”) 'selection de la case du critere 2
oCellCrit3 = oFeuilleDep.getCellRangeByName(“K3”)
oCellCrit4 = oFeuilleDep.getCellRangeByName(“L3”)

with oChampFiltre1(0)
.Field = 8 'numero de la colonne à trier (0=A)
.IsNumeric = true 'critere numerique
.Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL 'choix de l’opérateur
.NumericValue = oCellCrit.value 'choix de la case du critere
end with

with oChampFiltre1(0)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 8 'numero de la colonne à trier (0=A)
.IsNumeric = true 'critere numerique
.Operator = com.sun.star.sheet.FilterOperator.LESS_EQUAL 'choix de l’opérateur
.NumericValue = oCellCrit2.value 'choix de la case du critere
end with

with oChampFiltre1(1)
.Connection = com.sun.star.sheet.FilterConnection.AND 'opérateur entre les deux conditions
.Field = 9 'numero de la colonne à trier
.IsNumeric = true
.Operator = com.sun.star.sheet.FilterOperator.GREATER_EQUAL
.NumericValue = oCellCrit3.value 'choix de la case du critère
end with

with oChampFiltre1(1)
.Connection = com.sun.star.sheet.FilterConnection.AND 'opérateur entre les deux conditions
.Field = 9 'numero de la colonne à trier
.IsNumeric = true
.Operator = com.sun.star.sheet.FilterOperator.LESS_EQUAL
.NumericValue = oCellCrit4.value 'choix de la case du critère
end with

with oFiltre
.UseRegularExpressions = true
.ContainsHeader = true
.CopyOutputData = true 'copie les résultats du filtrage
.OutputPosition = oFeuilleArr.getCellRangeByName(“I7”).CellAddress 'definition d’une adresse qui sera celle de l’arrivée de mon filtrage
.setFilterFields(oChampFiltre1())
end with

oPlageDep.filter(oFiltre)

oFeuilleArr.columns.getByName(“I”).OptimalWidth=true 'optimiser la largeur de colonne
oFeuilleArr.columns.getByName(“T”).OptimalWidth=true 'optimiser la largeur de colonne

end sub

Nul doute qu’en fournissant un document intégrant la macro, nous pourrions analyser le problème qui dépend bien évidemment du contenu.

Contenu que l’on ne peut évidemment deviner.