Problème "Erreur de compilation" sur Excel 2007

Bonjour,

J'ai créé un planning afin de me faciliter la tache et j'ai suivis un tuto. J'ai créé des boutons pour que le planning change tout seul de mois et d'année. Mais je voudrais insérer la macro pour supprimer les lignes en trop.

Comme tous les mois n'ont pas le même nombre de jours, la macro masquera les lignes pour les jours au-delà du mois sélectionné.

Ma version d'excel étant plus ancienne que celle du tuto les fonctions ne sont surement pas les mêmes, je joint en PJ deux captures d'écran avec le message d'erreur de compilation avec aussi mon planning et si dessous le code que j'essaie de créer.

Sub Masquer_Jour()

Dim Num_Lin As Long

For Num_Lin = 38 To 40

If Month(Cells(Num_Lin, 2)) Goto Cells(1, 1) Then

Line(Num_Lin).Hidden = True

Else

Line(Num_Lin).Hidden = False

End If

Next

Range("B10:J40").ClearContents

End Sub

Si l'un de vous pourrais m'aider à modifier ma macro ça serait formidable.

Et autre question, est ce que cela posera problème si j'envoie mon planning une fois fini sur le PC du bureau qui est sous la dernière version d'excel ?

capture vba message d erreur 2 capture vba message d erreur
23planning-train.xlsx (14.02 Ko)

Bonjour,

Cette ligne n'a pas de sens :

If Month(Cells(Num_Lin, 2)) Goto Cells(1, 1) Then

Par ailleurs tu ne devrais pas ôter les macros existantes parce que tu coup rien n'a plus de sens : A chaque fois qu'on lève le petit doigt il y a une erreur macro (introuvable)

A+

Merci pour ton retour.

Voici la ligne de code original du tuto

Sub Masquer_Jour()

Dim Num_Col As Long

For Num_Col = 30 To 32

If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then

Columns(Num_Col).Hidden = True

Else

Columns(Num_Col).Hidden = False

End If

Next

Range("B6:AF13").ClearContents

End Sub

Mais sur la ligne : If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then - j'ai un message d'erreur qui indique "attendu : Then ou Goto, j'ai mis la capture en PJ.

Qu'est ce que je dois modifier pour le faire fonctionner ?

capture vba message d erreur 3

Remplacer par :

Sub Masquer_Jour()
Dim iR As Long
   For iR = 38 To 40
      Rows(iR).Hidden = Month(Cells(iR, 2)) > Cells(1, 1)
   Next
Range("C10:J40").ClearContents
End Sub

Tu es prié d'utiliser le bouton </> Quand tu cites du code pour une meilleur lisibilité.

Si les données doivent être anonymisées et réduite au strict nécessaire, il est indispensable que tu laisses les macros dans leur contexte si tu veux des réponses correctes. On ne code pas le VBA dans une boule de cristal !

Lire aussi ici.

A défaut de vouloir faire le moindre effort je ne répondrais plus à tes questions.

A+

Merci beaucoup pour ton aide, le code marche parfaitement.

Effectivement, en relisant mes postes précédant le code n'était pas très lisible. Je ferais attention la prochaine fois.

Encore merci

Rechercher des sujets similaires à "probleme erreur compilation 2007"