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]

Répondre à