OVH Cloud OVH Cloud

Pbm à l'ouverture d'un classeur

5 réponses
Avatar
Romain
Bonjour =E0 tous,
J'ai une macro qui s'ex=E9cute =E0 l'ouverture de mon classeur
(workbook_open()), le probl=E8me c'est que je fais appel =E0 une
worksheet que la macro ne semble pas reconnaitre (erreur
d'=E9x=E9cution). Quand je lance la macro manuellement une fois le
classeur ouvert tout fonctionne correctement: probl=E8me!
Merci pour tout d=E9pannage.

5 réponses

Avatar
anonymousA
Bonjour,

si tu publiais ta macro d'ouverture , ca pourrait peut-être aider.

A+

Romain wrote:
Bonjour à tous,
J'ai une macro qui s'exécute à l'ouverture de mon classeur
(workbook_open()), le problème c'est que je fais appel à une
worksheet que la macro ne semble pas reconnaitre (erreur
d'éxécution). Quand je lance la macro manuellement une fois le
classeur ouvert tout fonctionne correctement: problème!
Merci pour tout dépannage.


Avatar
Romain
Oups, oui désolé, voila mon code:
Private Sub Workbook_Open()
If (testEcheance = True) Then
PanelAlerteEtalonnage.Show
End If
End Sub


Function testEcheance() As Boolean
Dim present As Date
Dim echeance As Boolean
Dim j As Integer
Dim NbLigne As Integer
echeance = False
present = DateAdd("m", Worksheets("Annexe").Range("I1").Value,
Date)
Worksheets("AffichageEtalonnage").Label2.Caption = "Etalonnages
nécessaires au " & Date

...

End Function

C'est Worksheets("AffichageEtalonnage") qui n'est pas reconnue alors
que cette feuille appartient au classeur
Avatar
anonymousA
Je ne renconctre absolument aucune difficulté à faire fonctionner ce
code dans la mesure où j'ai respecté les conditions suivantes: il
existe une feuille dénommée AffichageEtalonnage. Sur cette feuille ,
il existe un label dénommé Label2. La cellule I1 de la feuille Annexe
est valeur valide pour la fonction DateAdd.Il y a donc sans doute autre
chose.

Par ailleurs, selon la proc que tu as fait parvenir, testEcheance est
toujours faux mais peut-être est-ce voulu ?.


A+

Romain wrote:
Oups, oui désolé, voila mon code:
Private Sub Workbook_Open()
If (testEcheance = True) Then
PanelAlerteEtalonnage.Show
End If
End Sub


Function testEcheance() As Boolean
Dim present As Date
Dim echeance As Boolean
Dim j As Integer
Dim NbLigne As Integer
echeance = False
present = DateAdd("m", Worksheets("Annexe").Range("I1").Value,
Date)
Worksheets("AffichageEtalonnage").Label2.Caption = "Etalonnages
nécessaires au " & Date

...

End Function

C'est Worksheets("AffichageEtalonnage") qui n'est pas reconnue alors
que cette feuille appartient au classeur


Avatar
Romain
En fait ma fonction testEcheance est mise à jour dans les "...". Le
problème ne vient pas de Worksheets("Annexe") mais de
Worksheets("AffichageEtalonnage"), ce qui est surprenant puisqu'en
relançant la macro à la main il n'y a plus aucun problème.

Est-il possible que cette feuille ne soit pas encore ouverte lors de
l'exécution de la macro automatiquement à l'ouverture du classeur? Si
oui pourquoi celle-ci et pas l'autre? Y a-t-il une solution?

Merci par avance
Avatar
anonymousA
Il n'y a aucune raison visible pour laquelle ca ne fonctionnerait
pas.Si tu le souhaites, envoies ton classeur sur ma BAL perso (
) et je regarderai avec le vrai fichier.

A+

Romain wrote:
En fait ma fonction testEcheance est mise à jour dans les "...". Le
problème ne vient pas de Worksheets("Annexe") mais de
Worksheets("AffichageEtalonnage"), ce qui est surprenant puisqu'en
relançant la macro à la main il n'y a plus aucun problème.

Est-il possible que cette feuille ne soit pas encore ouverte lors de
l'exécution de la macro automatiquement à l'ouverture du classeur? Si
oui pourquoi celle-ci et pas l'autre? Y a-t-il une solution?

Merci par avance