Macro qui ne fonctionne que dans l'éditeur

Ocin2 Messages postés 18 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 24 novembre 2011 - 27 mars 2011 à 15:36
Ocin2 Messages postés 18 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 24 novembre 2011 - 31 mars 2011 à 19:46
Bonjour à tous,

J'ai écris une macro dans ThisWorkbook: Private Sub Workbook_Open() qui ne fonctionne que dans l'éditeur lorsque je tape la touche F5.
En revanche, si je ferme mon classeur et que je l'ouvre, la macro ne fonctionne pas...
Je ne comprend pas pourquoi et ne trouve aucun forum avec ce sujet sur le net.
Une idée pour résoudre mon problème peut-être ?
Merci d'avance.

[Me]

5 réponses

Ocin2 Messages postés 18 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 24 novembre 2011
27 mars 2011 à 21:17
Ci-joint mon code qui me pose problèmes:

Private Sub Workbook_Open()
'Affiche l'userform Acceuil (plein écran)
UsfAcceuil.Show
'Cache les textebox et listbox
UsfAcceuil.TxtAnniv.Visible = False
UsfAcceuil.ListNomsAnniv.Visible = False
UsfAcceuil.ListDatesAnniv.Visible = False
UsfAcceuil.LabelRDV.Visible = False
UsfAcceuil.ListRDV.Visible = False
Dim i As Long
For i = 5000 To 2 Step -1
'Affiche les textbox et listbox si la date est reconnue et les remplis
If Worksheets("CLIENTS").Cells(i, 10) = Date - 7 Then
UsfAcceuil.TxtAnniv.Visible = True
UsfAcceuil.ListNomsAnniv.Visible = True
UsfAcceuil.ListDatesAnniv.Visible = True
UsfAcceuil.ListNomsAnniv.AddItem Worksheets("CLIENTS").Cells(i, 5).Value
UsfAcceuil.ListDatesAnniv.AddItem Worksheets("CLIENTS").Cells(i, 10).Value
End If
Next

'idem pour d'autre textbox et listbox
For i = 5000 To 2 Step -1
If Worksheets("RDV").Cells(i, 1) = Date Then
UsfAcceuil.LabelRDV.Visible = True
UsfAcceuil.ListRDV.Visible = True
UsfAcceuil.ListRDV.AddItem Worksheets("RDV").Cells(i, 2).Value
End If
Next
End Sub

Espérant votre aide

[Me]
0
c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
28 mars 2011 à 09:20
Bonjour
pour qu'une macro s'exécute à l'ouverture d'un classeur il faut la nommer

auto_open

bonne journée
0
Ocin2 Messages postés 18 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 24 novembre 2011
29 mars 2011 à 07:58
Bonjour

Merci d'abord pour votre réponse !
J'ai essayé en la nommant: Private Sub Workbook_auto_open() mais çà ne fonctionne toujours pas... Aucun déboggage n'apparaît mais la macro ne s'exécute tout simple pas...
Qu'est-ce-que j'ai mal fait ?

Merci encore .
[Me]
0
c148270 Messages postés 303 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 3 octobre 2013 1
29 mars 2011 à 08:24
Re
j'ai écris : auto_open et non pas workbook_auto_open
soit
sub auto_open()

bonnhe journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ocin2 Messages postés 18 Date d'inscription dimanche 27 mars 2011 Statut Membre Dernière intervention 24 novembre 2011
31 mars 2011 à 19:46
Bonjour,

Merci pour votre réponse, et désolé pour le temps que je met moi à réagir...
J'ai compris qu'il faut écrire dans un module standard:

Sub Auto_Open
...
End sub

Mais çà ne marche toujours pas chez moi...
Je précise que j'ai un code dans le "module" Thisworkbook:

Private Sub Workbook_Open()
'Affiche pleine écran l'userform d’accueil
UsfAcceuil.Show
End Sub

et que ma macro qui doit s'exécuter avec Auto_Open s'applique sur l'userform "UsfAcceuil" affiché par la macro ci-dessus.
Cela pose t-il problème ?

Autrement, j'ai pu lire sur le net qu'il y a des problèmes d'"évênements" ou encore que la marco Auto_Open ne peut pas s'exécuter si il y en a une dans ThisWorkbook... J'ai tous essayé mais rien n'y fait...

Pour info, j'utilise excel 2007.

Je suis donc toujours bloqué, et c'est ma seule macro manquante pour que mon programme puisse enfin être utilisé!
Help !

Merci.

[Me]
0
Rejoignez-nous