Bonjour,
voila j'ai actuellement un fichier dans lequel j'ai ajouter une macro pour un envoie d'email or celle ci s'active seulement quand j'appuie sur un bouton. Je souhaiterais que la macro s'active des que n'importe quelle cellule d'une colonne (ici colonne h) est une valeur inferieur a 60.
Cela est'il realisable?
Le nom de la macro est Macro3
Merci d'avance pour vos reponses
Essaie avec la macro événementielle Change ci-dessous. À placer dans l'onglet concerné...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 8 Then Exit Sub 'si le changement a lieu ailleurs que dans la colonne 8 (H), sort de la procédure
If Target.Value < 60 Then Call Macro3
End Sub
ça risque de faire beaucoup de mails envoyés, non ?
Dès que tu changeras un nombre de ta colonne h et que tu mettras une valeur inférieure à 60, un nouveau mail sera envoyé (même s'il en a déjà envoyé un il y a 10 secondes)
Est-ce ce que tu veux ?
regarde ceci, à utiliser dans le module de la feuille concernée :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 And Target.Count = 1 Then
If Not IsEmpty(Target) And IsNumeric(Target) And Target.Value < 60 Then
'ton code
End If
End If
End Sub
bon après midi
@+
Edition : aarf, un peu en retard moi... bonjour Robert, re Toto
Salut Tonigoto et le forum
Si c'est sur une feuille unique, dans le module lié à cette feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range, Plage As Range
Set Plage = Intersect(Target, Range("H:H"))
If page Is Nothing Then Exit Sub
For Each Cel In Plage
If Cel < 60 Then Call macro3
Next Cel
End Sub
Sinon, il faut utiliser Workbook_SheetChange() du module ThisWorkBook.
A+
Edit : je me trouve particulièrement lent... salut à tous
Merci a tt le monde sa a l'air de marcher et merci de votre rapidité!! du coup je me permet de vous demander autre chose voila dans mon fichier ( que je vous joint pr mieu comprendre) j'ai un feuillet qui me permet d'enregistrer un nouvelles appareil. du coup a chaque enregistrement les information apparaisse dans mon feuillet base de donnés or pour que la macro d'envoie de mail je me suis rendue compte que j'avais un probleme c'est que actuellement le nombre de jours et calculé lorsque que j'enregistre mes info dans le feuillet nouveau or il faudrais que le calcul du reste de jour soit effectuer dans le feuillet bd mon probleme est donc celui ci il y a t'il une possilité pour que le calcul " =F ici num de ligne - AUJOURD'hui " s'enregistre automatiquement avec le num de ligne correspondant ou faut il que j'enregistre la code sur chaque ligne une par une?
Merci de vos reponse par avance
ps: comme vous pouvez le voir tte la colonne ce colore en rouge meme les cellule vide dans le feuillet bd et je n'ai pas trouver la solution pr colorer seulement les cellule pleine (et inferieur a 60) donc si au passage vous avez une idée
Bonjour tototiti,
pour vous repondre pas de probleme la valeur 60 et pour un nombre de jours donné et ce nombre et calculer en fonction du jours actuelle donc calculer qu'une fois par jours a l'ouverture et donc si je ne me trompe qu'un seul mail!!!
S'il s'agit du résultat d'un calcul, j'ai peur que les propositions de mes camarades ne soient pas adaptées, ils s'attendaient à changement manuel (moi aussi d'ailleurs)
Plutôt voir du côté de l'évènement Workbook_Open dans ce cas
ok je pensais que le calcul automatique pouvais ce faire et qu'ensuite si il la macro reperer une cellule inferieur a la norme demander elle pouvais s'activer. Qu'est ce que l'évènement Workbook_Open du coup?
ok sa marche par contre la macro n'est pas trop mon truc donc quel est la demande a effectuer dans thisworkbook pour qu'il effectuer celle situer dans le feuillet concerner a l'ouverture?
Merci d'avance et excuser mon incompetence
j'ai tester votre code. mon probleme est que si j'utilise ce code ma macro3 sera automatiquement activé a l'ouverture de mon fichier or je veux qu'elle soit activé a l'ouverture de mon fichier seulement si une cellule de ma colonne h sur mon feuillet 4 a une valeur inferieur a 60.
Mais je n'arrive pas a lier votre code et celui que vous m'avez donné precedemment.
Pouvez-vous m'aider?
Merci d'avance
j'ai oublier de vous précisez que c'est suite a un calcul en fonction de la date du jour donc a l'ouverture du fichier que les cellules peuvent passer a une valeur inferieur a 60.