Erreur de compilation dans le module caché

Bonjour

J'ai fait ce fichier pour un club de bouliste ils on un problème avec .Ils ont office pro 2010
Chez moi office 2007 office 2019 ça fonctionne normalement.
Ci-dessous le message qu'ils obtiennent.
Message d'erreur "Erreur de compilation dans le module caché". Je n'arrive pas à faire le tirage.
Est il possible de trouver une solution pour qu'ils puissent se servir du fichier
D'avance je vous remercie
Ci-joint le fichier

Bonjour,

Un examen rapide me montre l'utilisation d'APIs qui n'ont pas été adaptées à une version 64 bits d'Excel. Il est fort probable que ce soit l'origine du problème.

Je te remercie pour ton information

Effectivement je suis en 32 bits ,le hic c'est que j'ai déjà fait ce genre de programme

et qui fonctionnaient sur 64 bits

Si je comprend bien sur le tien il ne fonctionne pas

Pour que tes API's fonctionnent en 64 bits :

Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
    Private Declare PtrSafe Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
    Private Declare PtrSafe Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long
#Else
    Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
    Private Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
    Private Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long
#End If

le code que tu viens de me donner je le met où?

le code que tu viens de me donner je le met où?
là où se trouvent tes API's , c'est à dire dans le code de ton UserForm

Ok merci

Je vais retransmettre le fichier à l'utilisateur du club et voir avec lui si cela fonctionne.

Cordialement

Bonjour thev

Le code que tu m'as transmis ne fonctionne pas

Que faut il modifier pour que ça marche

Bonjour Joco7915
Salut Thev

Le code fournit par Thev fonctionne très bien (vous ne devriez pas en douter 1s)

Mais faut-il savoir le placer correctement... et là

Bonjour BrunoM45

Merci pour votre aide

Je ne doutais pas 1 seconde des capacités de thev ,mais quand on a des lacunes en vba ...,et tout le monde n'est pas nait informaticien.

Je souhaiterais une explication concernant le code mis en place par vous.

Function DuréeEnClairSec(ByVal DuRest As Double) As String
Dim U As Long, DuUnit As Double, NbUnit As Long, Niv As Long, Trad As String
For U = 1 To 7
   DuUnit = Choose(U, 31556952, 2629746, 604800, 86400, 3600, 60, 1)
   NbUnit = Int(DuRest / DuUnit)
   If NbUnit > 0 Or Niv > 0 Then Niv = Niv + 1: If Niv > 2 Then Exit Function
   If NbUnit > 0 Then
      Trad = NbUnit & " " & Choose(U, "an", "mois", "semaine", "jour", "heure", "minute", "seconde")
      If NbUnit * Choose(U, 1, 0, 1, 1, 1, 1, 1) > 1 Then Trad = Trad & "s"
      If Niv = 2 Then DuréeEnClairSec = DuréeEnClairSec & " et "
      DuréeEnClairSec = DuréeEnClairSec & Trad: End If
   DuRest = DuRest - DuUnit * NbUnit: Next U
End Function

Cela me parle d'année ,mois semaine etc, rien a voir avec mon fichier?

Cordialement

Joco7915 faut vraiment arrêter la fumette (c'est une blague)

J'ai repris le fichier mis dans votre 1er post et j'ai juste modifié le code selon ce que vous a donné Thev

Alors moi je dis

bonsoir

je m'excuse ,je suis complètement pommé avec ce fichier

que je vais abandonner s'il ne fonctionne pas normalement sur Office 64 bits

merci pour votre aide

Re,

Il fonctionne puisque j'ai apporté les modifications données par Thev,
maintenant peut-être pas comme vous le souhaitez

on va le tester sur Office 2010 c'est là qu'il y a problème

Rechercher des sujets similaires à "erreur compilation module cache"