Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche aide gestion erreur macro excel

  • Initiateur de la discussion Initiateur de la discussion lejere59
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lejere59

XLDnaute Nouveau
bonjour a toutes et à tous , je crée un planning annuel avec une macro qui me prévient d'erreur ....
j'ai reussi a faire beaucoup de choses mais je galere sur une macro

je dispose de 53 colonnes ( 1 colonne pour le nom et 52 pour les semaines )
je dispose de 30 lignes ( 30 personnes a dénombrer )
dans cette plage il y a des resultat provenant de calcul ...

j'aimerais que lorsque le résultat dépasse 4 , un message d'alerte intervient ...

j'y arrive pour une cellule , par exemple , si l'agent numéro 13 a une valeur en semaine 17 de 8
alors je lance un msgbox voici le code en question :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Worksheets("2015").Range("I3").Value = 5 Then
MsgBox Range("c3") & " a dépassé la durée légale en " & Range("I2"), vbExclamation
End If
End Sub


je veux donc , que la macro recherche dans une plage ( 30 agent et 52 semaines ) toutes valeur supérieur a 4 , ET
me donne le message d'alerte msgbox comme au dessus , mais surtout me donne le numéro de l'agent et la semaine ....

ci joint le fichier , si possible de faire avec la plage I3:AQ30 , la premiere cellule fonctionne si on mets 5 !!!!
apres je copierai et adapterai le code pour le planning original .....

merci d'avance
 

Pièces jointes

Re : recherche aide gestion erreur macro excel

Bonjour lejere59, bonjour le forum.

Ci-joint une solution qui examine la valeur d'une cellule à chaque changement.
Il vaut mieux utiliser la macro "Worksheet_Change" plutôt que "Worksheet_SelectionChange".

Petite remarque : pour pouvoir automatiser sans problème, il vaut mieux éviter d'avoir des cellules fusionnées. Il est préférable de jouer sur la largeur des colonnes ou la hauteur des lignes quand d'autres considérations n'imposent pas la fusion de certaines cellules.

Bonne journée

Jacou

PS : la solution proposée n'examine pas l'ensemble du tableau, mais alerte dès qu'une valeur dépasse la condition définie.

pour vérifier l'ensemble du tableau il faudrait faire une macro dérivée de "Worksheet_Change" avec une boucle.
 

Pièces jointes

Dernière édition:
Re : recherche aide gestion erreur macro excel

Bonjour lejere59 et bienvenu sur le forum, Jacou, JBARBE

Trops tard, mais comme je l'ai fait, je le dépose 😀

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plg As Range, C As Range, Txt$, Msg$
Set Plg = Range("$I$3:$AQ$30")
If Intersect(Target, Plg) Is Nothing Then Exit Sub
Txt = "Attentions dépassement(s)" & vbLf
Msg = Txt
For Each C In Plg
    If C.Value > 4 Then
        Msg = Msg & Range("c" & C.Row) & _
        " a dépassé la durée légale en " & _
        Cells(2, C.Column).Value & vbLf
    End If
Next C
On Error Resume Next
If Msg <> Txt Then MsgBox Msg, vbExclamation
If Err Then MsgBox "Trops de dépassements pour la visualistion", 64, "Capâcité de la boite de dialogue dépassée"
End Sub


Cordialement
 
Re : recherche aide gestion erreur macro excel

Merci a tous de votre réponse rapide , le code idéal pour moi est celui de efgé , car je travaille sur une plage ...
le seul probleme , cest que les valeur prise sont elle meme calculé par rapport a d'autre cellule ...
si je modifie directement dans la plage "$I$3:$AQ$30" la valeur , l'erreur par le msgbox arrive de suite ....
tandis que si la valeur se modifie d'apres une modification indirect .... ca ne va pas 🙂
y a t'il une ligne a apporté afin qu'il y a une boucle ou un calcul permanent ????
 
Re : recherche aide gestion erreur macro excel


J'ai modifié mon fichier en supprimant le vbYesNo qui permet à la boucle de ne pas s'arrêter !

Ainsi tout les chiffres sup à 4 sont présentés dans la msgbox !

ATTENTION : les cellules doivent impérativement continuer à être fusionnées

bonne aprés midi !
 

Pièces jointes

Re : recherche aide gestion erreur macro excel

merci JBARBE , mais le probleme c'est que je dois le renseigner 52 fois ( car le fichier joint j'ai juste mis 5 semaine pour faire rapide 😉 )

j'aimerais utiliser le code de efgé

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plg As Range, C As Range, Txt$, Msg$
Set Plg = Range("$I$3:$AQ$30")
If Intersect(Target, Plg) Is Nothing Then Exit Sub
Txt = "Attentions dépassement(s)" & vbLf
Msg = Txt
For Each C In Plg
If C.Value > 4 Then
Msg = Msg & Range("c" & C.Row) & _
" a dépassé la durée légale en " & _
Cells(2, C.Column).Value & vbLf
End If
Next C
On Error Resume Next
If Msg <> Txt Then MsgBox Msg, vbExclamation
If Err Then MsgBox "Trops de dépassements pour la visualistion", 64, "Capâcité de la boite de dialogue dépassée"
End Sub


mais qui soit modifié de tel sorte qu'il tourne en boucle , car si je change pas la valeur directement dans sa plage de travail , il ne me dis rien , et comme la valeur viens d'un calcul d'un autre calcul par plusieur chaine de calcul .... LOL

de plus etant débutant le code me parait plus sympathique a comprendre

merci 😉 😉

bonne soirée 🙂
 
Re : recherche aide gestion erreur macro excel

Bonjour à tous,

@lejere59
Tu peux mettre le code, par exemple, dans une Private Sub Worksheet_Calculate() en enlevant la ligne:
VB:
If Intersect(Target, Plg) Is Nothing Then Exit Sub

Mais je pense que laisser tourner en permanence ce genre de code va vite devenir assez insupportable à l'utilisation.

C'est toi qui vois.

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
128
Réponses
4
Affichages
243
Réponses
2
Affichages
330
Réponses
20
Affichages
872
Réponses
1
Affichages
221
Réponses
9
Affichages
580
Réponses
38
Affichages
888
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…