VB erreur de code sur excel 2007

Résolu/Fermé
Bonjour tout le monde,
je travail sur Microsoft excel 2007
j'ai une erreur sur mon code et je ne sais pas comment la résoudre
le code est :

Private Sub UserForm_Activate()

    MoisCourant = Month(Date)
    AnneeCourante = Year(Date)

    'Statistiques sur la première période
    If (MoisCourant < 7) Then
        'Période 1 du 31 décembre au 1er juillet
        'P1Debut.Text = DateValue("12/31/" + Str(AnneeCourante - 1))
        'P1Fin.Text = DateValue("07/01/" + Str(AnneeCourante))
        P1Debut.Text = DateSerial(Str(AnneeCourante - 1), 12, 31)
        P1Fin.Text = DateSerial(Str(AnneeCourante), 7, 1)
    
        'Période 2 du 30 juin au 1er juillet
        'P2Debut.Text = DateValue("06/30/" + Str(AnneeCourante))
        'P2Fin.Text = DateValue("07/01/" + Str(AnneeCourante))
        P2Debut.Text = DateSerial(Str(AnneeCourante), 6, 30)
        P2Fin.Text = DateSerial(Str(AnneeCourante), 7, 1)
    
        'Période 3 du 1er juillet au 31 décembre
        'P3Debut.Text = DateValue("07/01/" + Str(AnneeCourante))
        'P3Fin.Text = DateValue("12/31/" + Str(AnneeCourante))
        P3Debut.Text = DateSerial(Str(AnneeCourante), 7, 1)
        P3Fin.Text = DateSerial(Str(AnneeCourante), 12, 31)
    Else
        'Période 1 du 30 juin au 1er janvier
        'P1Debut.Text = DateValue("06/30/" + Str(AnneeCourante))
        'P1Fin.Text = DateValue("01/01/" + Str(AnneeCourante + 1))
        P1Debut.Text = DateSerial(Str(AnneeCourante), 6, 30)
        P1Fin.Text = DateSerial(Str(AnneeCourante + 1), 1, 1)
    
        'Période 2 du 31 décembre au 1er janvier
        'P2Debut.Text = DateValue("12/31/" + Str(AnneeCourante))
        'P2Fin.Text = DateValue("01/01/" + Str(AnneeCourante + 1))
        P2Debut.Text = DateSerial(Str(AnneeCourante), 12, 31)
        P2Fin.Text = DateSerial(Str(AnneeCourante + 1), 1, 1)
    
        'Période 3 du 1er janvier au 30 juin
        'P3Debut.Text = DateValue("01/01/" + Str(AnneeCourante + 1))
        'P3Fin.Text = DateValue("06/30/" + Str(AnneeCourante + 1))
        P3Debut.Text = DateSerial(Str(AnneeCourante + 1), 1, 1)
        P3Fin.Text = DateSerial(Str(AnneeCourante + 1), 6, 30)
    End If
    
End Sub


le message d'erreur est : "erreur de compilation : Projet ou bibliothèque introuvable"
la phrase surligné en jaune est celle qui est en gras et en italique ici,
et le mot surligné en bleu est souligné ici.
merci a tous ceux qui pouront m'aider !!

3 réponses

  1. je pense que la solution est là....

    erreur de compilation : Projet ou bibliothèque introuvable

    j'ai excel 2007 et ton code fonctionne sans problème.

    dans vbe /outils/ Références
    j'ai 5 éléments qui apparaissent cochés
    visual basic for application
    microsoft excel 12.0 object library
    OLE automation
    microsoft ofice 12.0 object library
    microsoft forms 2.0 object library

    je te suggère de vérifier ces paramètres et si tu en trouves un notifier manquant
    décoche - le.

    A+
    R
    6
    1. Bidouilleu_R je ne sais pas quoi dire,
      tu est mon héros, sa fait 3 jours que je galère et que je teste des trucs dans le vide,
      et grace a toi sa marche !
      il n'y avait pas d'erreur mais simplement dans les références "manquant" était coché et pas "microsoft ofice 12.0 object library", j'ai fait l'échange et sa marche.
      vraiment MERCI beaucoup !!!!!!!!
      0
    2. content pour toi!
      0
  2. Je viens de tester ton code je ne vois pas d'erreur....

    et comme je ne vois pas de ligne en gras et soulignée je te propose

    de redonner la ligne en erreur.

    A+
    0
    1. Contributeur
      Testé le code
      Sub test()
      cells(1,1)=Month(Date)
      End Sub
      sur Excel 2010, aucun problème.

      Mais essaie en remplaçant Date par Date().
      0
    2. merci chossette9 pour ton aide, malheureusement ton code me fait la même erreur ...
      et quand je met Date(), en tapant sur entré, les parenthèses s'en vont. Du coup ce n'est pas sa non plus.
      0
  3. alors la ligne en gras et en italique c'est la premiere, et le mot souligné c'est DATE sur la deuxième ligne
    voila
    0