Erreur de compilation dans le module caché

Bonjour,

Je viens vers vous car j'ai crée un fichier excel avec macros protégés sous excel 2007 ( une macro que j'ai concu avec votre aide! merci )

mais les personnes qui utilisent le fichier n'ont pas la même version que moi forcement et ils ont cette erreur :

erreur de compilation dans le module caché

c'est erreur se produit generalement lorsque le code est incompatible avec la version ....

voici le code :

Private Sub CommandButton1_Click()
subscriber
Range("A87") = "Oui"
CommandButton1.BackColor = RGB(141, 182, 205)
CommandButton2.BackColor = RGB(220, 220, 220)
End Sub

Private Sub CommandButton2_Click()
publieur
Range("A87") = "Non"
CommandButton1.BackColor = RGB(220, 220, 220)
CommandButton2.BackColor = RGB(141, 182, 205)

End Sub

Private Sub DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
DTPicker1.Visible = True
DTPicker1.Value = Now

End Sub

Private Sub DTPicker2_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
DTPicker2.Visible = True
DTPicker2.Value = Now

End Sub

Private Sub DTPicker3_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)
DTPicker3.Visible = True
DTPicker3.Value = Now

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub '<-- si plusieurs cellules sont sélectionnées on quitte la procédure sinon ça bug
'If Target.Address = "$C$17" Then '<-- vérification que la modification se passe dans la cellule C17
   ' Select Case Target.Value
     '   Case "NO": Range("nosubscrib").EntireRow.Hidden = True
     '   Case "YES": Range("nosubscrib").EntireRow.Hidden = False
   ' End Select
'End If
If Not Intersect(Target, [$C$18]) Is Nothing Then
Range("subscribe").EntireRow.Hidden = True
If Target.Address = "$C$18" Then
Select Case Target.Value
        Case "1": Range("masqpub").EntireRow.Hidden = False
        Case "2": Range("subscri2").EntireRow.Hidden = False
        Case "3": Range("subscri3").EntireRow.Hidden = False
        Case "4": Range("subscri4").EntireRow.Hidden = False
        Case "5": Range("subscribe").EntireRow.Hidden = False

     End Select
End If
End If
If Target.Address = "$C$51" Then '<-- vérification que la modification se passe dans la cellule c30 frequence pub
    Select Case Target.Value

        Case "On the fly": Range("mois").EntireRow.Hidden = True
        Case "Monthly": Range("mois").EntireRow.Hidden = False

    End Select
End If
If Target.Address = "$C$54" Then '<-- vérification que la modification se passe dans la cellule C33 kear
    Select Case Target.Value
        Case "NO": Range("masq33").EntireRow.Hidden = False
        Case "YES": Range("masq33").EntireRow.Hidden = True
    End Select
End If
End Sub

je n'arrive pas à trouver une solution sachant que je n'ai pas à disposition une autre version d'excel

reference sans titre

bonjour,

Quelqu'un a déjà rencontré ce problème ?

bonjour,

il est probable que ce sont les DTPicker qui posent problème.

Fais une copie de ton fichier et essaie de les supprimer (ainsi que le code qui va avec...) je pense qu'il n'y aura plus de problème...

A+

galopin01 a écrit :

bonjour,

il est probable que ce sont les DTPicker qui posent problème.

Fais une copie de ton fichier et essaie de les supprimer (ainsi que le code qui va avec...) je pense qu'il n'y aura plus de problème...

A+

J'ai tout effacé mais j'ai pas l'impression que ca marche d'après un utiliateur je ne sais pas comment supprimé toute trace du DTPicker

dans les références il y a rien a décoché tu penses ?

Private Sub CommandButton1_Click()
subscriber
Range("A87") = "Oui"
CommandButton1.BackColor = RGB(141, 182, 205)
CommandButton2.BackColor = RGB(220, 220, 220)
End Sub

Private Sub CommandButton2_Click()
publieur
Range("A87") = "Non"
CommandButton1.BackColor = RGB(220, 220, 220)
CommandButton2.BackColor = RGB(141, 182, 205)

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub '<-- si plusieurs cellules sont sélectionnées on quitte la procédure sinon ça bug
'If Target.Address = "$C$17" Then '<-- vérification que la modification se passe dans la cellule C17
   ' Select Case Target.Value
     '   Case "NO": Range("nosubscrib").EntireRow.Hidden = True
     '   Case "YES": Range("nosubscrib").EntireRow.Hidden = False
   ' End Select
'End If
If Not Intersect(Target, [$C$18]) Is Nothing Then
Range("subscribe").EntireRow.Hidden = True
If Target.Address = "$C$18" Then
Select Case Target.Value
        Case "1": Range("masqpub").EntireRow.Hidden = False
        Case "2": Range("subscri2").EntireRow.Hidden = False
        Case "3": Range("subscri3").EntireRow.Hidden = False
        Case "4": Range("subscri4").EntireRow.Hidden = False
        Case "5": Range("subscribe").EntireRow.Hidden = False

     End Select
End If
End If
If Target.Address = "$C$51" Then '<-- vérification que la modification se passe dans la cellule c30 frequence pub
    Select Case Target.Value

        Case "On the fly": Range("mois").EntireRow.Hidden = True
        Case "Monthly": Range("mois").EntireRow.Hidden = False

    End Select
End If
If Target.Address = "$C$54" Then '<-- vérification que la modification se passe dans la cellule C33 kear
    Select Case Target.Value
        Case "NO": Range("masq33").EntireRow.Hidden = False
        Case "YES": Range("masq33").EntireRow.Hidden = True
    End Select
End If
End Sub

Bonjour,

dans les références il y a rien a décocher ?

Dans la mesure ou il n'y en a aucune de déclarée manquante, je ne pense pas...

ll faut supprimer les DTPicker eux mêmes (dans le UserForm) et dans le code tu fais une recherche avec Ctrl + F pour supprimer toutes les lignes qui y font référence.

A+

Rechercher des sujets similaires à "erreur compilation module cache"