Bonjour,
Laurent Costy a écrit :
Bonjour,
je souhaiterais automatiser la mise à jour de 7 liens avec d'autres
classeurs
Calc ainsi que les données de 2 pilotes de données via une macro...
N'étant pas familiarisé avec le langage, pourriez-vous m'aider en ce
qui concerne :
- la syntaxe de la ligne de commande pour la mise à jour d'un lien
- la syntaxe de la ligne de commande pour la mise à jour d'un pilote de
données...
Merci à vous pour votre aide.
Voici un élément de réponse :
Sub DataPilotRefresh
Dim oDoc As Object
Dim oSheetsEnum As Object, oSheet As Object
Dim oPivots As Object, oPivotEnum As Object
Dim oPivotElement As Object, oPivotRange As Object
Dim sDatapilotName As String, sMsg As String
Dim colonneFIN As Integer, colonneDEB As Integer
Dim ligneDEB As Long, ligneFIN As Long
oDoc = ThisComponent
oSheetsEnum = oDoc.Sheets.CreateEnumeration
While oSheetsEnum.hasMoreElements()
oSheet = oSheetsEnum.nextElement()
oPivots = oSheet.getDataPilotTables()
oPivotEnum = oPivots.CreateEnumeration()
While oPivotEnum.hasMoreElements()
oPivotElement = oPivotEnum.NextElement()
sDatapilotName = oPivotElement.Name
oPivotElement.refresh ' mise à jour du datapilot
oPivotRange = oPivotElement.SourceRange
With oPivotRange
colonneFIN = .EndColumn
colonneDEB = .StartColumn
ligneDEB = .StartRow
ligneFIN = .EndRow
End With
sMsg = "DataPilot = " & sDatapilotName & chr(10) & chr(10) _
& "colonneDEB = " & colonneDEB & chr(10) _
& "colonneFIN = " & colonneFIN & chr(10) _
& "ligneDEB = " & ligneDEB & chr(10) _
& "ligneFIN = " & ligneFIN & chr(10)
MsgBox sMsg
Wend
Wend
End Sub
--
Francois Gatto
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]