XL 2021 Excel suffixe numérique des fenêtres, quelle structure ?

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

Chez moi en Office 2021 64 bits et Office 2016 32 bits, lorsque je créé une nouvelle fenêtre (Affichage / Nouvelle fenêtre) les suffixes des fenêtres apparaissent ainsi:
<Nom du classeur>:<numéro de fenêtre>
1750682806608.png


Chez un utilisateur en Office 2016 32 bits pour qui je fais un peu de code, la structure est:
<Nom du classeur> - <numéro de fenêtre>
1750684346777.png


Qu'est-ce qui peut justifier une telle différence ?
 
Dernière édition:
Solution
Bonjour à tous,

Voici le résultat :
Code:
<WindowCaptionDetails.xlsm  -  2>

57 69 6E 64 6F 77 43 61 70 74 69 6F 6E 44 65 74    WindowCaptionDet
61 69 6C 73 2E 78 6C 73 6D 20 20 2D 20 20 32       ails.xlsm  -  2

Par contre, chez moi ta MsgBox a un souci, j'ai dû bidouiller pour trouver le résultat...
MsgBox.png


A+
re
ben oui le rcwork donne des points super précis chez moi
mais perso j'utilise monitorfrompoint le reste c'est monitorinfo le (W) pas le (A)
en faisant 6 points de contrôle + 3 intermédiaires soit 9 points de test j'ai mes 6 écrans - les doublons
j'obtiens donc tout mes écrans dispos
je peut donc créer un interface graphique userform ou ruban gallery représentant mes écrans et comment ils sont placés
windowfrompoint c'est uniquement pour savoir ou est la fenêtre a l'instanté
mais pour 2 écrans je fait encore plus simple demande a @Lolote83 le code que je lui ai donné je bascule l'app excel d'un ecran al'autre une seule api 2 boutons
 
Je ne sais pas si tu fais référence à l'obtention de tous les moniteurs, mais pour avoir la liste des moniteurs, il y a l'API EnumDisplayMonitors().
VB:
#If VBA7 Then
    Private Declare PtrSafe Function EnumDisplayMonitors Lib "user32.dll" (ByVal hDC As LongPtr, ByRef lprcClip As Any, ByVal lpfnEnum As LongPtr, ByVal dwData As Long) As Long
#Else
    Private Declare Function EnumDisplayMonitors Lib "user32.dll" (ByVal hDC As Long, ByRef lprcClip As Any, ByVal lpfnEnum As Long, ByVal dwData As Long) As Long
#End If

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Type MONITORINFO
    cbSize As Long
    rcMonitor As RECT
    rcWork As RECT
    dwFlags As Long
End Type

'Local Module variables
Private TabMIs() As MONITORINFO

'---------------------------
'Get all Monitor Information
'---------------------------
Public Function GetMonitorInfoByEnum() As MONITORINFO()
    Erase TabMIs
    Call EnumDisplayMonitors(ByVal 0&, ByVal 0&, AddressOf MonitorEnumProc, ByVal 0&)
    
    'Return value
    GetMonitorInfoByEnum = TabMIs
End Function

'---------------------------------------------------------
'Function called by EnumDisplayMonitors() for each Monitor
'---------------------------------------------------------
#If VBA7 Then
    Private Function MonitorEnumProc(ByVal hMonitor As LongPtr, _
                                     ByVal hdcMonitor As LongPtr, _
                                     ByRef lprcMonitor As RECT, _
                                     ByVal dwData As Long) As Long
#Else
    Private Function MonitorEnumProc(ByVal hMonitor As Long, _
                                     ByVal hdcMonitor As Long, _
                                     ByRef lprcMonitor As RECT, _
                                     ByVal dwData As Long) As Long
#End If
    Dim MI As MONITORINFO
    Dim NbMIs As Integer
    
    'Get Monitor Information
    MI.cbSize = Len(MI)
    Call GetMonitorInfo(hMonitor, MI)
    
    'Store Monitor Information in table
    If Not (Not TabMIs) Then NbMIs = UBound(TabMIs) + 1 Else NbMIs = 1
    ReDim Preserve TabMIs(1 To NbMIs)
    TabMIs(NbMIs) = MI
    
    'Return value: Continue enumeration
    MonitorEnumProc = 1
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour