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
    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
  2. 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
  3. 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