Erreur avec la propriete Top

Bonjour a tous, sans aucune modification de mon code, je me retrouve avec quelques erreurs lorsque mon VBA essai de definir la taille des fenetres. Voici un endroit ou j'ai ce type d'erreur :impossible de definir la propriete TOP de la classe Window. Je roule maintenant sur un nouveau PC avec windows10 et une reolution d'ecran differente. Notez que TOP a la valeur -23 et left -5,75 si je pointe la souris dessus.

Quelqu'un a une piste...

Sub twowindows2() 'Utilise dans mode Debug et Simulateur.Ce sub doit etre ici car on vise 2 feuilles differentes
    Application.DisplayFullScreen = False
    Application.ScreenUpdating = False
    Sheets("ASS compile").Select
    ActiveWindow.DisplayWorkbookTabs = False
    ActiveWindow.DisplayHorizontalScrollBar = False
    ActiveWindow.DisplayHeadings = False
    ActiveWindow.NewWindow

    Sheets("EPE").Select 'XLS:2
    Rows("3:3").Select
    ActiveWindow.FreezePanes = True
    Range("A3").Select
    ActiveWindow.DisplayWorkbookTabs = False
    ActiveWindow.DisplayHeadings = False
    ActiveWindow.DisplayHorizontalScrollBar = False
    With ActiveWindow 'fenetre EPE
        .Top = 280
        .Left = 0
        .Width = 1200
        .Height = 260
    End With
        'ActiveWindow.zoom = 80

    Windows("LOGICIEL 60.xls:1").Activate 'fenetre principale
    With ActiveWindow
      [color=#BF0000]  .Top = -20[/color]
        .Left = 0
        .Width = 1200
        .Height = 300
    End With

End Sub

Bonsoir CAPUCIN,

Peux-tu faire tourner le code en pas à pas et dire quelle ligne plante?

Je t'avouerais que dans le code envoyé, je suis extrêmement surpris d'un code du genre

<span style="color: #BF0000">  .Top = -20</span>

Excel c'est du VBA pas du PHP/HTML.... ça ressemble à un copier/coller raté d'Internet

With ActiveWindow

.Top = -20

.Left = 0

.Width = 1200

.Height = 300

End With

Semble nettement plus correcte.

Salut! non ce n'est pas un copier coller d'internet, la ligne bizarre c'est parce que j'ai cliquer sur le bouton couleur et ca n'a pas fait ce que je voulais.

Le code est exactement ce que je roulais sur mon ancien PC et a ma grande surprise, j'ai quelques erreur sur mon nouveau PC. La premiere ligne en erreur est .Top=-20. Si je passe ma souris sur ca ca indique -23 et le left -5.75, j'imagine que c'est parce que la ligne en question n'est pas encore executer. Mais ces valeurs sont tout de meme bizarre.

With ActiveWindow
.Top = -20
.Left = 0
.Width = 1200
.Height = 300
End With

Toutes mes excuses mais cette balise survenait pile à l'endroit problématique

Question stupide mais as-tu testé ton code avec

Windows("LOGICIEL 60.xls").Activate

au lieu de

Windows("LOGICIEL 60.xls:1").Activate

?

En mettant un point d'arrêt et un espion sur ActiveWindow, l'objet est bien défini?

(Si tu peux joindre le fichier excel ce serait super)

j'aimerais bien t'envoyer tout ca, mes mon fichier est d'environ 800k et il ouvre une application non excel. De plus, j'ai des setting qui modifierais surement ton environnement a l'ouverture.

Ce que tu me suggere se trouve plus bas que l'erreur donc je doute que ca change quelque chose.

Je dois te dire que je ne suis pas tres bon en VBA malgre la complexite de mon code. C'est que j'ai eu beaucoup d'aide dans le passe, si non je n'y serais pas arrive.

L'impression que j'ai c'est que la resolution de mon nouveau PC ainsi que windows10 me cause ces problemes. J'ai mis au point mon application avec windows xp. D,ailleurs a l'ouverture la grandeur des fenetres n'est plus bonne.

Peux-tu tenter le code suivant, qui est à coller juste avant les "With ActiveWindow"

ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlTiled
Sub twowindows2() 'Utilise dans mode Debug et Simulateur.Ce sub doit etre ici car on vise 2 feuilles differentes
   Application.DisplayFullScreen = False
    Application.ScreenUpdating = False
    Sheets("ASS compile").Select
    ActiveWindow.DisplayWorkbookTabs = False
    ActiveWindow.DisplayHorizontalScrollBar = False
    ActiveWindow.DisplayHeadings = False
    ActiveWindow.NewWindow

    Sheets("EPE").Select 'XLS:2
   Rows("3:3").Select
    ActiveWindow.FreezePanes = True
    Range("A3").Select
    ActiveWindow.DisplayWorkbookTabs = False
    ActiveWindow.DisplayHeadings = False
    ActiveWindow.DisplayHorizontalScrollBar = False
    ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlTiled
    With ActiveWindow 'fenetre EPE
       .Top = 280
        .Left = 0
        .Width = 1200
        .Height = 260
    End With
        'ActiveWindow.zoom = 80

    Windows("LOGICIEL 60.xls:1").Activate 'fenetre principale
   ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlTiled
   With ActiveWindow
      <span style="color: #BF0000">  .Top = -20</span>
        .Left = 0
        .Width = 1200
        .Height = 300
    End With

End Sub

maintenant, ca fonctionne . Peux-tu me dire pourquoi faut-il mettre ca alors que par le passe, j'en avais pas besoin.

Si je continu dans mon application, j'arrive maintenant a une erreur lorsque mon userform envoi le sendKey F1, par l'entremise d'un bouton. Pourtant si je fait un f1 directement pas le clavier ca marche. On dirait que SendKeys (F1) n'est pas reconnu.

'<START>
Private Sub CommandButton1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
SPflag = False
AppActivate "Z80 Simulator IDE" 'necessaire pour l'envoie de touches racourcis
Sleep 30
SendKeys "{F1}", True
Set object1 = CreateObject("z80simulatoride.server") 'necessaire egalement pour module6
object1.z80reset
Sheets("EPE").Cells(2, 117) = "'" & Dec2Hex((object1.getpc()), 4) 'recupere le P.C. de la premiere instruction, au cas qu'elle ne serais pas 0000 "option/change starting adress"
AppActivate "Microsoft Excel"
Windows("LOGICIEL 60.xls:2").Activate
numero = 1
simulateur
UserForm5.CommandButton2.SetFocus
End Sub

J'ai seulement utilisé Google, mais mon hypothèse est la suivante:

  • Windows XP -> les fenêtres ne sont pas "magnétiques", elles ne s'adaptent pas en dimension à ton écran
  • Windows vista et + -> les fenêtres s'adaptent à ton écran. Résultat, l'utilisation de cette commande

Pour le problème des sendkeys, -> Google t'aidera surement. Perso je n'utilise jamais

Issue excel sendkey windows 10

Parfait je ferai une recherche.

En terminant crois-tu que je pourrais mettre cette commande egalement ailleur comme dans thisworkbook.

Le meilleur moyen de savoir est de tester haha

Je ne vais pas m'avancer j'en ai aucune idée ^^

Merci pour ton aide.

Rechercher des sujets similaires à "erreur propriete top"