Sub ModifSearchReplace()
Dim c As New CUIAutomation, oReR As IUIAutomationElement
Dim oDesktop As IUIAutomationElement, oCondition As IUIAutomationCondition
Dim allElem As IUIAutomationElementArray, comboDans As IUIAutomationElement
Dim valCombo As IUIAutomationValuePattern, oUIAelem As IUIAutomationElement
Dim invokeCombo As IUIAutomationInvokePattern
On Error Resume Next
CommandBars.FindControl(ID:=313).Execute ' ouvrir fenêtre dialogue rechercher et remplacer
DoEvents
Set oCondition = c.CreatePropertyCondition(UIAutomationClient.UIA_NamePropertyId, "Rechercher et remplacer")
Set oDesktop = c.GetRootElement
Set oReR = oDesktop.FindFirst(TreeScope_Children, oCondition) ' Recherche de la fenêtre
Set oCondition = c.CreateTrueCondition
Set allElem = oReR.FindAll(TreeScope_Descendants, oCondition)
For i = 0 To allElem.length - 1
Set oUIAelem = allElem.GetElement(i)
If (oUIAelem.CurrentControlType = 50003) And (InStr(1, oUIAelem.CurrentName, "Dans") > 0) Then
Set comboDans = oUIAelem
End If
Next i
'DoEvents
comboDans.SetFocus
Set valCombo = comboDans.GetCurrentPattern(UIA_ValuePatternId)
Set invokeCombo = comboDans.GetCurrentPattern(UIA_InvokePatternId)
Debug.Print valCombo.CurrentValue
valCombo.SetValue "Feuille"
'valCombo.SetValue "Classeur"
DoEvents
End Sub