OVH Cloud OVH Cloud

Problème de macro

2 réponses
Avatar
Jésus Rubio
Bonjour.
J'ai réalisé une macro qui fait un certain nombre de traitements. En tête,
j'exécute la commande :
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ModeDAffichage = ActiveWindow.ActivePane.View.Type
Else
ModeDAffichage = ActiveWindow.View.Type
End If
A la fin, je restaure, en faisant :
ActiveWindow.ActivePane.View.Type = ModeDAffichage
Seulement, à ce moment-là, VB se bloque, je n'ai plus la main et je dois
interrompre le process.
Quelqu'un dispose-t-il d'éléments de solution ?

2 réponses

Avatar
Geo

Bonjour.
J'ai réalisé une macro qui fait un certain nombre de traitements. En tête,
j'exécute la commande :
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ModeDAffichage = ActiveWindow.ActivePane.View.Type
Else
ModeDAffichage = ActiveWindow.View.Type
End If
A la fin, je restaure, en faisant :
ActiveWindow.ActivePane.View.Type = ModeDAffichage


première idée : il me semble qu'il faudrait aussi mémoriser le
"splitspecial"

Dim ModeSplit As Integer
Dim ModeDAffichage As Integer
With ActiveDocument.ActiveWindow
ModeSplit = .View.SplitSpecial
If .View.SplitSpecial = wdPaneNone Then
ModeDAffichage = .ActivePane.View.Type
Else
ModeDAffichage = .View.Type
End If

'Puis L 'inverse :
.View.SplitSpecial = ModeSplit
If .View.SplitSpecial = wdPaneNone Then
.ActivePane.View.Type = ModeDAffichage
Else
.View.Type = ModeDAffichage
End If
End With

Ceci dit quand on passe par :
ActiveWindow.ActivePane.View.Type = ModeDAffichage
Ca revient au même et ça ne plante pas chez moi.
Donc :
Mettre les correctifs à jour et voir la page du web la plus lue :
http://faqword.free.fr/articles.php?lng=fr&pgr6

--
A+

Avatar
Jésus Rubio
Merci.
J'essaye les mises à jour...
Cordialement,



Bonjour.
J'ai réalisé une macro qui fait un certain nombre de traitements. En tête,
j'exécute la commande :
If ActiveWindow.View.SplitSpecial = wdPaneNone Then
ModeDAffichage = ActiveWindow.ActivePane.View.Type
Else
ModeDAffichage = ActiveWindow.View.Type
End If
A la fin, je restaure, en faisant :
ActiveWindow.ActivePane.View.Type = ModeDAffichage


première idée : il me semble qu'il faudrait aussi mémoriser le
"splitspecial"

Dim ModeSplit As Integer
Dim ModeDAffichage As Integer
With ActiveDocument.ActiveWindow
ModeSplit = .View.SplitSpecial
If .View.SplitSpecial = wdPaneNone Then
ModeDAffichage = .ActivePane.View.Type
Else
ModeDAffichage = .View.Type
End If

'Puis L 'inverse :
.View.SplitSpecial = ModeSplit
If .View.SplitSpecial = wdPaneNone Then
.ActivePane.View.Type = ModeDAffichage
Else
.View.Type = ModeDAffichage
End If
End With

Ceci dit quand on passe par :
ActiveWindow.ActivePane.View.Type = ModeDAffichage
Ca revient au même et ça ne plante pas chez moi.
Donc :
Mettre les correctifs à jour et voir la page du web la plus lue :
http://faqword.free.fr/articles.php?lng=fr&pgr6

--
A+