Problème erreur 287

Bonjour,

Tout d'abord je tiens à vous dire que je suis débutant et merci d'excuser certaines questions qui vont probablement vous paraitre idiotes.

J'ai créer un petit programme avec Excel 2003 qui contient plusieurs macro dont l'une d'elle consiste à envoyer une feuille de commande par mail.

<ital>Sub envoiMedivenPlageCellules()
ActiveSheet.Range("A1:J40").Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
.Introduction = "bonjour , ci joint les données de la commande de Charleroi"

.Item.To = "toto@xxx.be"
.Item.Subject = "commande Charleroi"
.Item.Send
End With
End Sub

Tout ce passait très bien jusqu'au moment ou j'ai protégé ma feuille excell pour eviter que mes collègues n'effacent accidentellement des cellules qu'ils ne doivent pas toucher.
J'obtient alors l'erreur d'exécution 287.
Et là je cale !!!

3 réponses

  1. Contributeur
    :)..
    Tu fais des noeuds..
    ActiveWorkSheet("Mediven").Unprotect ??


    Plutôt...
    ActiveSheet.Unprotect ' si tu a mis un code faut l'ajouter 
    'Ou bien... 
    Sheets("Mediven").Unprotect

    Et si tu a encore une erreur dis où et la quelle, ça m'éviteras de devoir deviner.

    L'expérience instruit plus sûrement que le conseil. (André Gide)
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    0
    1. Contributeur
      C'est pas le classeur que tu dois libérer mais la feuille.
          Sheets("Feuil1").Unprotect
         ....
          Sheets("Feuil1").Protect

      0
      1. rebonjour, alors voilà j'ai fait les changement dont tu me parles mais maintenant je rçois le message suivant "erreur de compilation Sub ou function non définie"

        Sub envoiMedivenPlageCellules()
        ActiveWorkSheet("Mediven").Unprotect
        ActiveSheet.Range("A1:J40").Select
        ActiveWorkbook.EnvelopeVisible = True
        With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données de la commande de Charleroi"
        .Item.To = "toto@xxx.be"
        .Item.Subject = "commande Charleroi"
        .Item.Send
        End With
        ActiveWorkSheet("Mediven").Protect
        End Sub

        merci encore de ton aide
        0
      2. Trifon - 7 jui 2010 à 10:57
        rebonjour, alors voilà j'ai fait les changement dont tu me parles mais maintenant je rçois le message suivant "erreur de compilation Sub ou function non définie"

        Sub envoiMedivenPlageCellules()
        ActiveWorkSheet("Mediven").Unprotect
        ActiveSheet.Range("A1:J40").Select
        ActiveWorkbook.EnvelopeVisible = True
        With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données de la commande de Charleroi"
        .Item.To = "toto@xxx.be"
        .Item.Subject = "commande Charleroi"
        .Item.Send
        End With
        ActiveWorkSheet("Mediven").Protect
        End Sub

        merci encore de ton aide
        0
    2. Contributeur
      Bonjour,
      Au début de la macro tu dois mettre Unprotect et en fin Protect.
      Voir ces deux commandes dans l'aide.
      A+
      0
      1. merci pour ton aide !
        j'ai essayé ceci mais ca cale encore

        Sub envoiMedivenPlageCellules()
        ActiveWorkbook.Unprotect
        ActiveSheet.Range("A1:J40").Select
        ActiveWorkbook.EnvelopeVisible = True
        With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données de la commande de Charleroi"
        .Item.To = "Philippe.Troisfontaines@mc.be"
        .Item.Subject = "commande Charleroi"
        .Item.Send
        End With
        ActiveWorkbook.Protect
        End Sub
        0