Bug VBA

Bonjour,

Je viens de passer d'un office 2013 à un office 2010.

Depuis, je rencontre un bug lors de l'ouverture de mon fichier, avec ce message (en pj)

Savez vous de quoi s'agit il et comment résoudre cette problématique ?

Merci d'avance,

Cdt,

capture

Bonjour,

Tu dois probablement être en 64 bits donc essais la déclaration de cette façon mais sans certitude :

Private Declare PtrSafe Function getTickCount Lib "kernel32" (cyTickCount As Currency) As Long

Bonjour Theze,

Merci pour ton aide. Je viens de modifier la déclaration et je rencontre une autre prblématique dans ce code :

Pour info, il s'agit d'un code pour faire clignoter un bouton qui fonctionnait avec mon ancien pc.

En pj, la photo du bug

Merci,

bugvba

Bonjour,

"getTickCount " attend un argument "cyTickCount As Currency" et ce dernier est obligatoire donc tu déclares une variable en Currency et tu la passe en argument à la fonction commen par exemple :

Private Declare PtrSafe Function getTickCount Lib "kernel32" (cyTickCount As Currency) As Long

Sub Minuterie(Milliseconde As Long)

    Dim Arret As Long
    Dim Tick As Currency

    Arret = GetTickCount(Tick) + Milliseconde

    Do While GetTickCount(Tick) < Arret
        DoEvents
    Loop

End Sub

Je ne peux rien tester mais la fonction doit modifier la valeur de la variable et tu peux probablement t'en servir !

Re,

maintenant, tu peux aussi utiliser OnTime :

Dim Arret As Boolean

Sub Lancer()

    Arret = False
    Clignote

End Sub

Sub Arreter()

    Arret = True

End Sub

Sub Clignote()

    If Arret = True Then Exit Sub

    If Feuil1.CommandButton1.BackColor = &HE0E0E0 Then
        Feuil1.CommandButton1.BackColor = &HFF&
    Else
        Feuil1.CommandButton1.BackColor = &HE0E0E0
    End If

    Application.OnTime Now + TimeValue("00:00:01"), "Clignote"

End Sub

Bonjour,

la 1ère question à se poser est :

1) est-ce que tu as installé la version 64 bits parce que tu étais obligé (bases de données hyper-méga-énormes ou imposée par un responsable)

2) ou est-ce parce que ça te paraissait logique pour un windows 64 bits ?

Si la réponse est la 2, désinstalle cette version pour installer Office 32 bits. C'est elle à privilégier.

Sinon tu auras d'autres déboires bien plus embêtants que celui-ci.

eric

Bonjour eriiic,

Je m'demandais si tu avais lu mon message du 21 mai : https://forum.excel-pratique.com/viewtopic.php?p=652176#p652176

Si t'as une solution en passant par un module de classe ou autre, ça serait super pratique !

dhany

Bonjour tout le monde, dhany, eriic,

alors peux-tu ajouter la détection d'un changement de la couleur de remplissage d'une cellule comme il y a déjà la détection d'un changement de valeur d'une celllule ?

La réponse est "non", il est impossible (à l'heure actuelle) de capter la modification d'une couleur dans Excel que ce soit dans une procédure événementielle et encore moins dans un module de classe (la seule solution serait un timer).

Tu peux éventuellement capter la modification d'une valeur dans une cellule qui va engendrer une modification de couleur par MFC mais pas directement le changement de formatage.

Si Microsoft prenait ça en considération (comme bien d'autres action !) ça rendrait service à beaucoup de personne mais il ne faut tout de même pas oublier qu'Excel est avant tout un tableur !

Bonsoir Theze,

Je viens tout juste de lire ton message, et je te remercie pour toutes tes infos ; je vais renoncer à trop en demander au tableur Excel ; surtout qu'il fait déjà tellement de choses !

dhany

Rechercher des sujets similaires à "bug vba"