Problème avec macro

scoubidou35

XLDnaute Occasionnel
Bonsoir à tous,
J'ai créé une macro pour avoir des messages d'alerte à l'ouverture de mon fichier Excel.
Le principe est simple dans la colonne ALERTE_Phyto de mon tableau pour chaque produit je choisi "0" si retiré, "1" si interdit prochainement et "2" si autorisé.
tant qu'il y a au moins un produit avec "1" la macro qui suit fonctionne sinon ça bug.

Private Sub workbook_open()
'Pour les Phyto'
Dim alertephyto As Range

For Each alertephyto In ActiveSheet.Range("ALERTE_Phyto")
Valeur = Cells(alertephyto.Row, 1)
date1 = Cells(alertephyto.Row, 13)

If alertephyto = "1" And date1 > Date Then
MsgBox "ATTENTION : " & Valeur & " va être retiré le " & date1 & ".", vbInformation, "Information"
Else
End If

If alertephyto = "1" And date1 <= Date Then
MsgBox "ATTENTION : " & Valeur & " est interdit d'usage.", vbCritical, "Information"
Else
End If

If alertephyto = "1" And Date = date1 - 15 Then
MsgBox "ATTENTION : " & Valeur & " interdite d'usage dans 15 jours.", vbExclamation, "Information"
Else
End If

Next

End Sub

Quelqu'un peut-il m'aider à empêcher le bug car je ne trouve pas de solution.
Je me tiens à disposition pour toutes informations complémentaires.

Merci
 

scoubidou35

XLDnaute Occasionnel
Bonjour.
En fait j'aimerais que la feuille (feuille1) soit la page d'accueil. Et que les messages de la feuille(utilisation Phyto) y apparaissent pour être sûr que tous le monde voient les alertes.
J'ai tenté en rajoutant la ligne
Sheets("feuille 1).Activate
Mais ça bug toujours
Merci pour votre aide
 

scoubidou35

XLDnaute Occasionnel
Bonjour hervé62
Merci pour l'aide mais comme je l'ai mis dans un plus haut. J'ai besoin que le classeur s'ouvre toujours à la feuille1 qui est en fait le sommaire du classeur original pour être sur que tous le monde voit les alertes et que les alertes apparaissent sur la page sommaire.

Est ce que cela est possible?
Merci
 

scoubidou35

XLDnaute Occasionnel
Bonjour herve62 et merci de m'aider
Le fichier que j'ai joins n'a que la feuille "Utilisation Phyto" et la macro fonctionne et vous en remercie. Sauf que le fichier d'origine comporte beaucoup de feuilles. J'ai donc extrait celle qui m'intéresse mais j'aurais du rajouter une feuille "feuille1" au fichier que je vous ai joins désolé pour l'oubli.
Et en fait cette feuille1 correspondrait à une feuille d'accueil avec un sommaire.
Je souhaite en fait que le fichier excel s'ouvre toujours sur la feuille1 meme si la fois d'avant je l'ai fermé sur une autre feuille comme par exemple "utilisation Phyto" et que a l'ouverture du fichier les alertes apparaissent sur la feuille1.
Vous pouvez essayer
 

scoubidou35

XLDnaute Occasionnel
Super!!!! Merci beaucoup, je viens de copier la macro dans mon fichier Gestrial et ça fonctionne. Plus de bug. J'étais depuis ce matin à comprendre mon erreur et vous l'avez trouvé. Merci encore pour le temps que vous m'avez consacré.
Concernant l'alerte intermédiaire pour des liaisons c'est normal.
Merci encore.
Bon Week end
 

herve62

XLDnaute Barbatruc
Supporter XLD
Ok , bon courage pour la suite
info : Lorsque la macro ne se trouve pas dans la feuille (USF, Module , thisworbook) il faut TOUJOURS
faire référence à la feuille qui va être utilisée , cela ne veut pas dire qu'il faut l'activer
mais soit mettre sheets("toto").Range ou cell ..etc à chaque fois
ou avec : with worksheets("toto") , cela est plus économique car ensuite on ne met plus que
.range("A5").... ou .cells(2,1=) ..... et on termine avec : End with
ce que j'ai fait ici ; Ensuite la sheets("tata").select c'est comme si tu cliques sur l'onglet .... elle s'affiche
 

Statistiques des forums

Discussions
312 115
Messages
2 085 455
Membres
102 891
dernier inscrit
cocowild