[RESOLU ??]Problème en "Xlsm" et pas en "Xls"????

néné06

XLDnaute Accro
Bonsoir à toutes et tous,

J'ai un problème, qui pour moi est totalement inexpliqué !
Lorsque je sauve ce programme en Xls et que je le relance, aucun problème .
Lorsque je sauve ce programme en Xlsm et que je le relance , excel m'affiche la fameuse alerte:
"Microsoft Excel a rencontré un problème et doit être fermé"
Impossible de le faire tourner.

Quelqu'un aurait-il une explication ?
Ce programme en Xlsm plante t'il aussi chez vous ?

D'avance Merci pour vos réponses !!

René
 

Pièces jointes

  • calendrier travailclass4031.xls
    344 KB · Affichages: 92
  • calendrier travailclass4031.xlsm
    80.2 KB · Affichages: 74
  • calendrier travailclass4031.xlsm
    80.2 KB · Affichages: 98
  • calendrier travailclass4031.xlsm
    80.2 KB · Affichages: 95
Dernière édition:

néné06

XLDnaute Accro
Re : Problème en "Xlsm" et pas en "Xls"????

Re,
@Tototiti2008

J'ai testé ta piste , et effectivement, j'arrive à ouvrir le fichier Xlsm, mais c'est une piste qui, vu mon faible niveau, ne me donne pas , pour l'instant des solutions.

avec beaucoup de patience, j'arriverais à découvrir d'où vient le bug, mais pas ce soir car je suis un peu embrumé.
merci

René
 

néné06

XLDnaute Accro
Re : Problème en "Xlsm" et pas en "Xls"????

Bonsoir à tous,

Après quelques recherches, j'ai trouvé la cause du bug.

Lorsque j'inhibe ces lignes, l'erreur n'a pas lieu ?

Voici les lignes inhibées:

Private Function affiche_an_bis_ou_non(anneetestee As Integer)
dernierjourmois = Day(DateSerial(anneetestee, 3, 0))
End Function


Private Sub cherche_an_bis_ou_non()
'anneetestee = val(CbAnnee)
'affiche_an_bis_ou_non (anneetestee)
'If dernierjourmois = 29 Then
'J60.Visible = True
'Label60.Visible = True
'Else
'J60.Visible = False
'Label60.Visible = False
'End If
End Sub

Si quelqu'un avait une solution de remplacement !

Sur le programme "Xls" les lignes ne sont pas inhibées, sur "Xlms" les lignes sont inhibées.


Merci !!

rené
 

Pièces jointes

  • calendrier essai13.xlsm
    81 KB · Affichages: 59
  • calendrier essai13.xls
    440.5 KB · Affichages: 62
Dernière édition:

néné06

XLDnaute Accro
Re : Problème en "Xlsm" et pas en "Xls"????

Bonsoir à tous,

J'ai constaté que ,si j'inhibe uniquement ces deux instructions dans "Private Sub cherche_an_bis_ou_non()"

'Label60.Visible = False
'Label60.Visible = true

Mon programme en "Xlsm fonctionne sans planter mais me donne donc un calendrier faux !
En "Xls" il n'y a aucun problème.

Mais pour me prendre un peu plus la tête, ce même programme avec un autre nom en "Xlsm" et non inhibé fonctionne??
Si je le renomme, il plante ?????
Je vais finir par croire que telle mésaventure n'arrive qu'à moi.

Je vous fais parvenir l'autre programme en Xlsm qui chez moi ne plante pas.

Merci pour vos remarques et suggestions!

René
 

Pièces jointes

  • calendrier Label60 true ou false non inhibé.xlsm
    80.8 KB · Affichages: 53
Dernière édition:

néné06

XLDnaute Accro
Re : Problème en "Xlsm" et pas en "Xls"????

Re,

J'ai donc résolu ce problème en ne faisant pas appel à la commande ".Visible" qui, il me semble , me provoquait le plantage.
Je pense que ce plantage intervient à cause du module de classe présent dans ce programme, module qui me renseigne sur le jour ou le label cliqué.

Je joint donc ce calendrier qui pourrait intéresser certains.
Cela me renseignera sur les tests que vous pouvez pratiquer.


Merci à tous

René
 

Pièces jointes

  • calendrier essai1.xls
    446 KB · Affichages: 60
  • calendrier essai1.xlsm
    82.3 KB · Affichages: 75
  • calendrier essai1.xlsm
    82.3 KB · Affichages: 68
  • calendrier essai1.xlsm
    82.3 KB · Affichages: 86

néné06

XLDnaute Accro
Re : [RESOLU ??]Problème en "Xlsm" et pas en "Xls"????

Re,

Sur mon ancien fichier, je voulais rendre invisible ou visible le label j60 et Label60 qui correspond au 29 fevrier

Private Sub cherche_an_bis_ou_non()
anneetestee = val(CbAnnee)
affiche_an_bis_ou_non (anneetestee)
If dernierjourmois = 29 Then
J60.Visible = True
'Label60.Visible = True********** l'erreur etait à cette instruction et me provoquait le plantage *********
Else
J60.Visible = False
'Label60.Visible = False ********** l'erreur etait à cette instruction et me provoquait le plantage *********
End If
End Sub

J'avais donc 31 jours * 12 mois = 372 labels "J" et 372 Labels "Label".
Sur mon nouveau fichier, j'ai créer seulement 366 Labels "J" et 366 Labels "Label" de 1 à 366.
Lorsque j'ai une année bissextile , je positionne les 366 labels de chaque catégorie.
Lorsque j'ai une année "normale" ,je positionne les 365 labels de chaque catégorie et les deux Labels 366 sont reduit à une taille nulle et placé sur les Labels 365.
Je n'ai donc plus besoin de rendre des Labels (Visible= False" ) donc plus de plantage.
Ce sont vraiment des rustines mais cela fonctionne.
En cliquant sur un des Labels, on obtient le nom du Label.

A+

René
 

Discussions similaires

Statistiques des forums

Discussions
312 354
Messages
2 087 548
Membres
103 588
dernier inscrit
Tom59300Tom