XL 2019 comment passer le tableur 32 bits en 64 bits

snoopy07

XLDnaute Occasionnel
Bonsoir le forum

Le tableur s ouvre directement sur l USF en plein écran en 32 bits maintenant je suis en 64 bits
voici une capture d image de l erreur qui s affiche

Capture d’écran 2021-03-23 202635.png

Quel modification doit je faire pour mettre a jour ce code
Je vous joint mon fichier

Cordialement
Snoopy 07
 

Pièces jointes

  • Concours belote.xls
    271.5 KB · Affichages: 22

patricktoulon

XLDnaute Barbatruc
re
bon comme ca vite fait (façon bateau )sans api j'ai tout viré !!!
ton userform d’accueil plein écran sans caption et tes controls redimensionnés et repositionnés au prorata du width et du height
(s'adapte a tout écran)
terminé 32/64 on s'en balance ;)
il faudrait apprendre un peu a se servir du moteur de recherche du site tu aurais trouvé en deux secondes
 

Pièces jointes

  • Concours belote.xls
    283 KB · Affichages: 11

patricktoulon

XLDnaute Barbatruc
re
il n'y a aucune raison que ça ne soit pas aligné tel que ça l'est au départ a part une autre macro qui déplacerait éventuellement les controls

que fait mon code :
1° ce code code prend la mesure du userform au départ
2° met le userform en plein écran en cachant la caption en mettant son top en négatif
3° et enfin les controls sont repositionné au prorata de la différence entre la taille de départ et celle en plein écran et cela pour le width comme le height ainsi que le left et le top

il est vrai que j'ai remarqué que ton classeur avait un comportement bizarre
quelque chose me dis que ce classeur n'ira pas bien loin
j'ai aussi remarqué que les titres des colonne de la listboxs n’était pas bien placés au niveau des 2 premières
et cela même en taille normale ,comme j'ai pas compris ton intention je n' ai pas relevé

voila comment ca ressort chez moi en plein écran
les positions sont parfaitement replacées avec l'original avec le prorata du redimensionnement
les largeurs colonnes de la listbox sont parfaitement redimensionnées au prorata du départ
seul le titre change en effet il se retrouve sur une seule ligne et c'est normal au depart il est sur 2 lignes par rapport au wraptext du controls
bref tout est parfaitement centré
1616734273816.png
 
Dernière édition:

snoopy07

XLDnaute Occasionnel
re

j ai changer dans
VB:
Sub reformUF()
    Dim H&, WW&, HH&, Ctrl, wstate, coeffH#, coeffW#, coeffFont, cw, I&, hwnd&
    HH = Me.InsideHeight: WW = Me.InsideWidth: wstate = Application.WindowState

    hwnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")")         'api GetActiveWindow Capture du handle de la fenetre active
    ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hwnd & ", " & -16 & ", " & &H94080080 & ")")      'api SetWindowLongA
    ExecuteExcel4Macro ("CALL(""user32"",""DrawMenuBar"",""JJJJJJ"", " & hwnd & ")")
    ExecuteExcel4Macro ("CALL(""user32"",""ShowWindow"",""JJJ"",""" & hwnd & """,""" & 3 & """)")    ' application du mode
    
    coeffH = Me.InsideHeight / HH: coeffW = Me.InsideWidth / WW
    coeffFont = Application.Min(coeffW, coeffH)
       For Each Ctrl In Me.Controls
        Ctrl.Move Ctrl.Left * coeffW, Ctrl.Top * coeffH, Ctrl.Width * coeffW, Ctrl.Height * coeffH
        On Error Resume Next
        Ctrl.Font.Size = (Ctrl.Font.Size * coeffFont) - 1
        Err.Clear
        If TypeOf Ctrl Is ListBox Then
            cw = Split(Ctrl.ColumnWidth, ";")
            For I = 0 To UBound(cw): cw(I) = cw(I) * coeffW: Next
            Ctrl.ColumnWidth = Join(cw, ";")
        End If
    Next

End Sub

ca fait pareil
 

Discussions similaires

Réponses
15
Affichages
3 K

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi