Créer des alertes sur une cellule et plus ...
Résolu
Bizouille33
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour a tous,
Actuellement je travaille sur un tableau que je partage sur un espace de partage avec plusieurs personnes.
Ce tableau doit être consulté assez régulièrement par les autres personnes mais il contiendra beaucoup de données.
Je souhaiterai :
* Créer une alerte sur une cellule en particulier
C'est-à-dire : j'inscris dans cette cellule (par exemple : M34) une information importante pour le salarié Dupont.
Lorsque Dupont ouvrira le tableau depuis son ordi j'aimerai qu'un message d'alerte s'affiche lui indiquant qu'il a un message important et s'il clique sur le message ça le renvoit directement à M34.
Je ne sais pas si ce procédés est réalisable mais je suis ouverte à toutes propositions qui me rapprochera du résultat souhaité.
* Faire clignoté une cellule.
J'ai essayé se système avec VBA mais je n'ai toujours pas réussi, je serai intéressé si quelqu'un pouvait m'expliquer en détail le procédés pour faire clignoter une cellule (par exemple M34)
Bonne journée à tous,
Bizouille 33
Actuellement je travaille sur un tableau que je partage sur un espace de partage avec plusieurs personnes.
Ce tableau doit être consulté assez régulièrement par les autres personnes mais il contiendra beaucoup de données.
Je souhaiterai :
* Créer une alerte sur une cellule en particulier
C'est-à-dire : j'inscris dans cette cellule (par exemple : M34) une information importante pour le salarié Dupont.
Lorsque Dupont ouvrira le tableau depuis son ordi j'aimerai qu'un message d'alerte s'affiche lui indiquant qu'il a un message important et s'il clique sur le message ça le renvoit directement à M34.
Je ne sais pas si ce procédés est réalisable mais je suis ouverte à toutes propositions qui me rapprochera du résultat souhaité.
* Faire clignoté une cellule.
J'ai essayé se système avec VBA mais je n'ai toujours pas réussi, je serai intéressé si quelqu'un pouvait m'expliquer en détail le procédés pour faire clignoter une cellule (par exemple M34)
Bonne journée à tous,
Bizouille 33
A voir également:
- Créer des alertes sur une cellule et plus ...
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte instagram sur google - Guide
- Créer une adresse hotmail - Guide
14 réponses
je suis ouverte à toutes propositions
C'est dangereux, ce que tu écris là...
Comme tu personnalises les messages suivant le destinataire, Excel doit pouvoir distinguer qui ouvre le fichier, donc, en plus de l'activation des macros, il faut que tes collègues aient un nom d'utilisateur spécifique.
Le principal écueil est celui du UserName. Vois ceci puis adapte (ajout de If...) :
A+
C'est dangereux, ce que tu écris là...
Comme tu personnalises les messages suivant le destinataire, Excel doit pouvoir distinguer qui ouvre le fichier, donc, en plus de l'activation des macros, il faut que tes collègues aient un nom d'utilisateur spécifique.
Le principal écueil est celui du UserName. Vois ceci puis adapte (ajout de If...) :
Private Sub Workbook_Open() MsgBox Environ("UserName") End Sub
A+
Bonjour Bizouille,
le clignotement ne pose aucun problème, par contre si j'ai bien compris tu veux faire clignoter une cellule en fonction de la personne qui ouvre le fichier, cela se complique quelque peu.
pour que cela fonctionne comme cela je vois à l'ouverture du fichier une inputbox dans laquelle le responsable de l'ouverture du fichier saisi non pas son nom qui peut être facilement usurpé, mais un code qui lui est propre et là à partir de sa saisie sélectionner ou faire clignoter ce que l'on veut
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
le clignotement ne pose aucun problème, par contre si j'ai bien compris tu veux faire clignoter une cellule en fonction de la personne qui ouvre le fichier, cela se complique quelque peu.
pour que cela fonctionne comme cela je vois à l'ouverture du fichier une inputbox dans laquelle le responsable de l'ouverture du fichier saisi non pas son nom qui peut être facilement usurpé, mais un code qui lui est propre et là à partir de sa saisie sélectionner ou faire clignoter ce que l'on veut
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Non je ne cherche pas forcément à faire clignoter une cellule en fonction de la personne qui ouvre le fichier, mes connaissances seront un peu justes pour me lancer dans ces démarches.
J'aimerai qu'à l'ouverture du fichier les cellules contenant un message important soit repérable de suite
J'aimerai qu'à l'ouverture du fichier les cellules contenant un message important soit repérable de suite
Re,
Alors pour faire simple clic droit sur l'onglet de ta feuille/visualiser le code cela ouvrira le visual basic
sur la gauche tu verras l'explorateur de projet, recherche la Thiswokbook, double clic ou clic droit et Code
dans la feuille blanche qui s"ouvre colle ce code
Private Sub Workbook_Open()
[M34].Select
End Sub
revient sur la feuille Excel soit en cliquant sur l'icône de la barre des taches ou en haut à gauche sur l'icône Excel de la barre d'outils
enregistre le fichier et ferme le, à l'ouverture la cellule M34 se sélectionnera
Alors pour faire simple clic droit sur l'onglet de ta feuille/visualiser le code cela ouvrira le visual basic
sur la gauche tu verras l'explorateur de projet, recherche la Thiswokbook, double clic ou clic droit et Code
dans la feuille blanche qui s"ouvre colle ce code
Private Sub Workbook_Open()
[M34].Select
End Sub
revient sur la feuille Excel soit en cliquant sur l'icône de la barre des taches ou en haut à gauche sur l'icône Excel de la barre d'outils
enregistre le fichier et ferme le, à l'ouverture la cellule M34 se sélectionnera
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
regarde ton avant dernier post
"Non je ne cherche pas forcément à faire clignoter une cellule en fonction de la personne qui ouvre le fichier, mes connaissances seront un peu justes pour me lancer dans ces démarches"
dans la soirée je t'écrit le code pour la cellule M34 si elle contient un message
regarde ton avant dernier post
"Non je ne cherche pas forcément à faire clignoter une cellule en fonction de la personne qui ouvre le fichier, mes connaissances seront un peu justes pour me lancer dans ces démarches"
dans la soirée je t'écrit le code pour la cellule M34 si elle contient un message
Re,
commence par créer un module dans le visual basic (Insertion/Module)
dans le module colle ce code
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [M34].Interior.ColorIndex = xlNone Then
If [M34].Value <> "" Then
[M34].Interior.ColorIndex = 3
Else
[M34].Interior.ColorIndex = 0
End If
Else
[M34].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
[M34].Interior.ColorIndex = 0
End Sub
toujours dans le visual ouvre la Thiswokbook et colle ces deux codes (1 pour lancer le clignotement à l'ouverture du fichier et 1 pour stopper le clignotement à la fermeture
Private Sub Workbook_Open()
Cellule_Clignote
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ArretClignotement
End Sub
si tu dois travailler sur le fichier il serait judicieux de compléter ces codes pour stopper le clignotement lorsqu'on quittera la feuille et le relancer lorsqu'on y reviendra mais on verra plus tard
commence par créer un module dans le visual basic (Insertion/Module)
dans le module colle ce code
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [M34].Interior.ColorIndex = xlNone Then
If [M34].Value <> "" Then
[M34].Interior.ColorIndex = 3
Else
[M34].Interior.ColorIndex = 0
End If
Else
[M34].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
[M34].Interior.ColorIndex = 0
End Sub
toujours dans le visual ouvre la Thiswokbook et colle ces deux codes (1 pour lancer le clignotement à l'ouverture du fichier et 1 pour stopper le clignotement à la fermeture
Private Sub Workbook_Open()
Cellule_Clignote
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ArretClignotement
End Sub
si tu dois travailler sur le fichier il serait judicieux de compléter ces codes pour stopper le clignotement lorsqu'on quittera la feuille et le relancer lorsqu'on y reviendra mais on verra plus tard
Super Mike ça marche merci !
Autres choses, sur VBA j'avais déjà insérer un code, dans thisworkbook, pour qu'il y est un message d'alerte à l'ouverture du fichier :
Private Sub Workbook_Open()
MsgBox "Message important pour ... "
End Sub
Seulement lorsque je rajoute tes codes sur thisworkbook, cela m'affiche :
"Erreur de compilation, nom ambigu détecté : Workbook_Open"
Cela signifie que je ne peux pas faire fonctionner l'alerte et le clignotement en même temps ou l'un après l'autre ?
Une dernière question par curiosité : tous ces codes tu les écris toi même ou tu les trouves quelque part ?
Car j'aimerai apprendre à bien utiliser VBA et pour l'instant je ne fais que copier des codes, ça m'aide c'est sur et je t'en remercie grandement ! Mais j'aimerai être capable de me débrouiller seule la prochaine fois.
Autres choses, sur VBA j'avais déjà insérer un code, dans thisworkbook, pour qu'il y est un message d'alerte à l'ouverture du fichier :
Private Sub Workbook_Open()
MsgBox "Message important pour ... "
End Sub
Seulement lorsque je rajoute tes codes sur thisworkbook, cela m'affiche :
"Erreur de compilation, nom ambigu détecté : Workbook_Open"
Cela signifie que je ne peux pas faire fonctionner l'alerte et le clignotement en même temps ou l'un après l'autre ?
Une dernière question par curiosité : tous ces codes tu les écris toi même ou tu les trouves quelque part ?
Car j'aimerai apprendre à bien utiliser VBA et pour l'instant je ne fais que copier des codes, ça m'aide c'est sur et je t'en remercie grandement ! Mais j'aimerai être capable de me débrouiller seule la prochaine fois.
Re,
Il ne peut y avoir qu'un code sous la rubrique
Private Sub Workbook_Open()
donc il faut compiler. remplace l'ancien code sous cette rubrique par
Private Sub Workbook_Open()
MsgBox "Message important pour ... "
Cellule_Clignote
End Sub
mais tu peux afficher et déclencher la procédure que s'il y a un message en M34
exemple
Private Sub Workbook_Open()
if [M34]<>"" then
MsgBox "Message important pour ... "
[M34].select
Cellule_Clignote
end if
End Sub
Il ne peut y avoir qu'un code sous la rubrique
Private Sub Workbook_Open()
donc il faut compiler. remplace l'ancien code sous cette rubrique par
Private Sub Workbook_Open()
MsgBox "Message important pour ... "
Cellule_Clignote
End Sub
mais tu peux afficher et déclencher la procédure que s'il y a un message en M34
exemple
Private Sub Workbook_Open()
if [M34]<>"" then
MsgBox "Message important pour ... "
[M34].select
Cellule_Clignote
end if
End Sub
Re,
Comment je trouvais les codes, déjà les avoir étudié pour les comprendre et les écrire et les adapter, ensuite être curieux et aimer se torturer les neurones pour se mesurer à cette merveilleuse application Excel.
pour appliquer le code à plusieurs cellules, pas de problème mais un code VBA est très précis et contrairement à une formule il ne s'adapte pas automatiquement, il faut l'écrire alors dans ton cas il faut nous donner tous les paramètres, sur quelles cellules doit s'adapter le code et sur quel critère
Comment je trouvais les codes, déjà les avoir étudié pour les comprendre et les écrire et les adapter, ensuite être curieux et aimer se torturer les neurones pour se mesurer à cette merveilleuse application Excel.
pour appliquer le code à plusieurs cellules, pas de problème mais un code VBA est très précis et contrairement à une formule il ne s'adapte pas automatiquement, il faut l'écrire alors dans ton cas il faut nous donner tous les paramètres, sur quelles cellules doit s'adapter le code et sur quel critère
C'est la 1ere fois que j'utilise VBA et ses codes mais je commence à en saisir le fonctionnement et aussi à l'apprécier ! Faudra que je trouve comment apprendre les codes par contre.
Alors pour le clignotement de plusieurs cellules :
J'inscris un message en D4 et aussi en D16, ce sont 2 messages importants et j'aimerais qu'elles clignotent toutes les deux.
Puis lors de l'utilisation du tableau dans le temps je serai amener à inscrire 3,4 messages importants dans la colonne D; mais je suppose que si tu m'expliques comment faire clignoter 2 cellules en même temps je pourrais l'adapter pour faire clignoter 3 ou 4 cellules en même temps non ?
Alors pour le clignotement de plusieurs cellules :
J'inscris un message en D4 et aussi en D16, ce sont 2 messages importants et j'aimerais qu'elles clignotent toutes les deux.
Puis lors de l'utilisation du tableau dans le temps je serai amener à inscrire 3,4 messages importants dans la colonne D; mais je suppose que si tu m'expliques comment faire clignoter 2 cellules en même temps je pourrais l'adapter pour faire clignoter 3 ou 4 cellules en même temps non ?
Re,
Il faut faire une boucle, je te prépare le code
Il faut faire une boucle, je te prépare le code
Re,
pour faire simple pour tes débuts en VBA, dans le module tu as ces codes
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [M34].Interior.ColorIndex = xlNone Then
If [M34].Value <> "" Then
[M34].Interior.ColorIndex = 3
Else
[M34].Interior.ColorIndex = 0
End If
Else
[M34].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
[M34].Interior.ColorIndex = 0
End Sub
remplace les par ce code qui est en fait est le même avec un rajout que j'ai inséré en gras pour mieux comprendre et gérer la cellule D16, il faudra faire la même chose pour d'autre cellule
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [D4].Interior.ColorIndex = xlNone Then
If [D4].Value <> "" Then
[D4].Interior.ColorIndex = 3
Else
[D4].Interior.ColorIndex = 0
End If
Else
[D4].Interior.ColorIndex = 0
End If
If [D16].Interior.ColorIndex = xlNone Then
If [D16].Value <> "" Then
[D16].Interior.ColorIndex = 3
Else
[D16].Interior.ColorIndex = 0
End If
Else
[D16].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
Range([D4], [D16]).Interior.ColorIndex = 0
End Sub
Maintenant si tu veux voir des codes plus techniques et plus condensés pas de problème, mais je te conseille de ne pas aller trop vite
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour faire simple pour tes débuts en VBA, dans le module tu as ces codes
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [M34].Interior.ColorIndex = xlNone Then
If [M34].Value <> "" Then
[M34].Interior.ColorIndex = 3
Else
[M34].Interior.ColorIndex = 0
End If
Else
[M34].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
[M34].Interior.ColorIndex = 0
End Sub
remplace les par ce code qui est en fait est le même avec un rajout que j'ai inséré en gras pour mieux comprendre et gérer la cellule D16, il faudra faire la même chose pour d'autre cellule
Dim BlinkTime As Date
Public Sub Cellule_Clignote()
If [D4].Interior.ColorIndex = xlNone Then
If [D4].Value <> "" Then
[D4].Interior.ColorIndex = 3
Else
[D4].Interior.ColorIndex = 0
End If
Else
[D4].Interior.ColorIndex = 0
End If
If [D16].Interior.ColorIndex = xlNone Then
If [D16].Value <> "" Then
[D16].Interior.ColorIndex = 3
Else
[D16].Interior.ColorIndex = 0
End If
Else
[D16].Interior.ColorIndex = 0
End If
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Cellule_Clignote"
End Sub
Sub ArretClignotement()
On Error Resume Next
Application.OnTime BlinkTime, "Cellule_Clignote", , False
Range([D4], [D16]).Interior.ColorIndex = 0
End Sub
Maintenant si tu veux voir des codes plus techniques et plus condensés pas de problème, mais je te conseille de ne pas aller trop vite
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
Mais tes cellules sont contiguës, dans ce cas il est possible d'écouter le code à part que tu envisage de faire clignoter des cellules non contiguës dans d'autres colonnes ou lignes espacées
Mais tes cellules sont contiguës, dans ce cas il est possible d'écouter le code à part que tu envisage de faire clignoter des cellules non contiguës dans d'autres colonnes ou lignes espacées
Re,
colonne A feuil 1 tu as les couleurs et l'index couleur mais il y en a d'autres
teste le fichier exemple
https://www.cjoint.com/c/DCuoZR28vqA
colonne A feuil 1 tu as les couleurs et l'index couleur mais il y en a d'autres
teste le fichier exemple
https://www.cjoint.com/c/DCuoZR28vqA