Macro redondante

Bonjour à tous,

une possibilité :

Private Sub Worksheet_Calculate()
    Static alerteEmise As Boolean
    If Range("D147") > 95 Then
        If Not alerteEmise Then
            MsgBox "ATTENTION, LIMITE DU STOCK DEPASSEE", vbExclamation, ""
            alerteEmise = True
        End If
    Else
        alerteEmise = False
    End If
End Sub

Le flag est remis à 0 à l'ouverture du fichier, et si le seuil repasse en-dessous de 95 pour re-détecter les franchissements.

eric

Merci

Le problème c'est que la msgbox s'affiche meme avec le nombre 94 , et il faut juste que ce soit une information. Un seul bouton ou l'on clique sur okay et la msg box ne s'affichera plus pour ce total...

Merci eriiic,

Cependant, je n'arrive pas a enregistrer ce code pour qu'il fonctionne a chaque réouverture du fichier...

aussi, je voudrais remplacer la case D147 par la ligne .... Que mettre?

Merci à vous en tout cas !

Il me semblait qu'excel recalculait tout à l'ouverture. Je testerai et rajouterai ce qu'il faudra.

aussi, je voudrais remplacer la case D147 par la ligne .... Que mettre?

16000 colonne ça m'étonnerait. Soit plus précis sur la plage sinon tu vas te retrouver à devoir saisir 1 caractère à la seconde...

Toujours le même seuil ?

eric

Ce serait les lignes 147,202,215,221,225,231,331,349,375,383,405,472,483,499,505. Les colonnes dépendent des mois.

jusqu'a AH au maximum.

jusqu'a AH au maximum

Depuis la colonne A ? Ca m'étonnerait aussi. Toutes les colonnes ou certaines qu'on peut reconnaitre ?

Et je répète cette question: toujours le même seuil ?

Donne tous les renseignements avant qu'on les arrache un par un stp et dépose un fichier qu'on y voit clair.

eric

Non les seuil changent mais je me débrouillerai a les modifier.

Par contre ce sont toutes les colonnes oui de A a AH.

Et le fichier est dans le file mais je te le met ici.

6planning.xlsx (84.73 Ko)

Et bien heureusement que j'ai insisté...

Par contre il y a pas mal de boulot et là je suis occupé.

Donc soit qq'un continue, soit ça sera plus tard.

eric

C'est le même seuil pour tout les jours du mois ?

Il ne peut être différent que pour les lignes ?

Quand je dis tous les détails, c'est tous les détails. VBA ne supporte pas du tout l'approximation.

eric

Bonjour,

C'est le même seuil pour tous les jours du mois oui...

Et il ne doit être différent que pour les lignes oui.

Je me suis peut-être embêté pour rien, j'ai prévu les 12 mois dans le même classeur.

Et là ce n'est pas 1 alarme à gérer mais 12*15*31=5580...

A tester.

eric

18planning.xlsm (101.01 Ko)

Malheureusement cela ne fonctionne pas... Cela me met une erreur au lancement au niveau de la macro et ensuite quand j'entre une valeur cela me met un message suivi de plusieurs autres comme celui en PJ...

beug

Bonjour,

Malheureusement cela ne fonctionne pas...

Chez moi ça fonctionne très bien sur le fichier que je t'ai fourni. Fait tes tests sur ce fichier stp

Cela me met une erreur au lancement au niveau de la macro

C'est sûr qu'avec autant de détails on va avancer...

ensuite quand j'entre une valeur cela me met un message suivi de plusieurs autres comme celui en PJ...

C'est ce que tu as demandé non ? Une alerte unique pour chaque seuil dépassé, et ça pour 15 lignes de 31 colonnes.

Si tu as 1500 au 01/02 ligne 349 avec un seuil défini à 95 ben ça alerte oui.

Les seuils sont à saisir dans la feuille Params

eric

Ce serait sympa de ta part de parler un petit peu mieux. On prend pas les gens pour des billes parce qu'ils demandent un service.

Aussi, j'ai lancé uniquement ton fichier. Et le beug est toujours la tu as la capture en PJ.

Et oui comme je le vois tu as bien compris la demande. Mais avec le fichier que tu m'as donné, lorsque je rentre une valeur au dessus du seuil dans une des cases, plusieurs MsgBox apparaissent concernant plusieurs autres cases.

capture

Si tu veux que ça fonctionne il faut donner tous les détails, déposer le fichier concerné si ce n'est pas celui fourni, et fournir les manip à effectuer pour reproduire l'erreur.

Si tu es susceptible alors fait des efforts de ce coté.

Quelle ligne de code est en erreur ?

Et pour les msgbox les cellules annoncées sont en-dessous du seuil ou ne devant pas être supervisées et donc apparaissent à tort ?

Aurais-tu l’extrême amabilité de me dire quelle cellule et quelle valeur elle contient ? Chez moi aucune anomalie de ce type.

eric

Je vois que c'est un jeu...

Le problème survient au lancement du fichier que vous m'avez envoyé. Je n'ai rien modifié.

En cliquant sur débogage je tombe sur le fichier joint.

Aussi, le problème est que les msgbox apparraissent constamment lorsque l'on modifie une valeur.

Je m'explique:

Je modifie la valeur de la case D146 en mettant 95.

Le seuil est alors depassé et la msgbox apparrait concernant la case D147 (Somme de la colonne).

Jusque la tout est okay.

Mais lorsque je modifie la valeur d'une autre case, peu importe laquelle, ici la case L144, la première msgbox réapparait.

J'aimerai justement qu'elle ne revienne plus, qu'elle ne soit qu'un message d'information lors du premier dépassement de la case D147...

1

Bonjour,

Chez moi ça fonctionne bien.

95 dans D146, alerte sur D147. 12 dans E146, rien ne se passe. 105 dans F146, alerte sur F147 uniquement.

Si je ramène D146 à 10, rien ne se passe. Je le repasse à 95 D147 alerte (nouveau dépassement de seuil.

J'ai 2 alertes pour 1 modif sur la ligne 471, mais tes sommes en ligne 483 semblent erronées.

Tu parlais d'une erreur à l'ouverture. Quel message et quelle ligne ?

Et as-tu les 4 alertes à l'ouverture ?

Je remet la version de mon micro au cas où...

eric

Bonjour,

Non mais j'ai compris ce qui se passait. Ça devrait marcher la.

par contre quand je lance le fichier, on a bien le message d'erreur que j'avais mis quelques post plus haut, à savoir "Erreur d'execution 1004" ainsi que le screen d’hier lorsque je clique sur débogage.

Bonjour,

Et il se passait quoi ?

C'est que pour lui la feuille Params n'existe pas.

Seulement elle existe bien et il l'utilise dans la ligne suivante sinon ça ne tournerait pas.

A tout hasard regarde dans VBE 'outils / références' s'il n'y en a pas une de manquante (bien que je n'en utilise pas) et décoche-là.

eric

Rechercher des sujets similaires à "macro redondante"