CRÉER UN MESSAGE SOUS Excel ?

Bonsoir;

y'a t'il un moyen d'ajouter un message d'alerte sous excel ?

Dans mon cas (si cela est possible ) je veux q'un message apparaît si je veux saisir la vente d'un article ;alors que que j'ai zéro au stock

Merci

24suivi-stock.xlsx (43.54 Ko)

Salut,

créer un message est possible.

Mais il faut d'abord commencer par gérer le stock........car non, une liste d'achat et une liste de vente ne sont pas une gestion de stock !!!!

Commence par faire une somme de toutes les ref que tu achetes/vends et après on verra pour le message.....

Cordialement.

Bonsoir;mamote80;

pour la gestion des stocks ;j'ai une liste d'achat ;une liste de vente et une feuille de regroupement par famille ou il y'a le cumule des achats;le cumule des ventes et le stock final par article.MAIS s'il y'a des propositions pour mieux gérer mon stock ; je te remercie d'avance.

Merci


Bonsoir;mamote80;

pour la gestion des stocks ;j'ai une liste d'achat ;une liste de vente et une feuille de regroupement par famille ou il y'a le cumule des achats;le cumule des ventes et le stock final par article.MAIS s'il y'a des propositions pour mieux gérer mon stock ; je te remercie d'avance.

Merci

30suivi-stock.xlsx (47.50 Ko)

Bonjour,

Je viens de parametrer ton fichier comme tu le souhaites je pense.

En fait,j'ai utilisé la fonction intersect.

Tu lui definies une zone et si tu modifies une cellule dans la zone tu peux y declencher un comportement.

Ce que j'ai fait :

  • lecture de l'article selectionné
  • je parcours la feuille CCC voir les stocks (qté dans Stock Final SF)
  • Si stock <= 0 alors message box qui t'alerte

Test à faire sur l'article KDL-42 W 804 A/ZME 6

Le programme gère en plus les dernières lignes pour parcourir lea feuille CCC en cas d'ajout d article et de ventes.

A placer dans feuille 3 ventes

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim KeyCells As Range

 ' La variable KeyCells contient les cellules qui déclencheront
 ' une alerte si elles sont modifiées.
 derlig = Cells(Cells.Rows.Count, "E").End(xlUp).Row
 Set KeyCells = Range("E2:E" & derlig)

'on controle ici le comportement si on touche aux lignes concernées
 If Not Application.Intersect(KeyCells, Range(Target.Address)) _
 Is Nothing Then

 'je parametre ma derniere ligne
 derlign = Sheets("CCC").Cells(Cells.Rows.Count, "B").End(xlUp).Row

 'Contrôle du stock on parcoure la feuille CCC
 For Each c In Sheets("CCC").Range("B3:B" & derlign)
 If c = Target Then
 stock = c.Offset(0, 6)

 'controle qté en stock
 If stock <= 0 Then
 MsgBox "Le stock de cet article est épuisé !", vbExclamation, "Etat des Stocks"
 End If

 End If

 Next

 'je repasse ma valeur de stock à 0
 stock = ""
 End If
 End Sub
42suivi-stock.xlsm (55.45 Ko)

Bonsoir;VB_troyes

Merci c'est très interessant ; c'est plus fort que mes compétence https://forum.excel-pratique.com/posting.php?mode=smilies&f=2#; mais il y'a une petite chose : si le stock d'un article est > a zéro (par exemple SF=2)et on fait une saisie de vente de 3 de cet article ;alors là aussi le message doit apparaître pour ne pas saisir.

Merci

SQUALLI a écrit :

Bonsoir;VB_troyes

Merci c'est très interessant ; c'est plus fort que mes compétence https://forum.excel-pratique.com/posting.php?mode=smilies&f=2#; mais il y'a une petite chose : si le stock d'un article est > a zéro (par exemple SF=2)et on fait une saisie de vente de 3 de cet article ;alors là aussi le message doit apparaître pour ne pas saisir.

Merci

Bonjour,

J'y ai pensé aussi mais tu indiquais a la saisie de l'article.

La quantité est elle saisie avant ou apres l'article ?

A défaut tu peux toujours le parametrer à la saisie de la quantité et qu'il recherche la référence en faisant l'operation stock - ventes

Cdt,

Bonjour et merci

  • ) la quantité est saisie après l'article
  • ) pour le paramétrage ;je ne crois pas que je peut le faire !!
  • ) comment faire pour copier la formule pour qu'elle fonctionne pour les trois familles ("AAA;BBB;CCC ")
Merci

Bonsoir,

Je pense couvrir tes demandes avec ce code.

- la quantité est saisie après l'article: ok mais je fais un check quand meme

- comment faire pour copier la formule pour qu'elle fonctionne pour les trois familles ("AAA;BBB;CCC ") : Passage en parametre de la colonne D dans mes sheets()..

Cdt,

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim KeyCells As Range

 ' La variable KeyCells contient les cellules qui déclencheront
 ' une alerte si elles sont modifiées.
 derlig = Cells(Cells.Rows.Count, "E").End(xlUp).Row
 Set KeyCells = Range("F2:F" & derlig)

'on controle ici le comportement si on touche aux lignes concernées
 If Not Application.Intersect(KeyCells, Range(Target.Address)) _
 Is Nothing Then

 'si qté vide pas de message
 If Target = "" Then
 Exit Sub
 End If

 'message si saisie d'une quantité sans article
 If Target.Offset(0, -1) = "" And Target.Offset(0, -5) <> "" Then
 MsgBox "Merci de saisir un article au préalable! Supprimez la quantité!"
 Exit Sub
 Target = ""
 End If

 'je parametre ma derniere ligne et la feuille selectionnee AAA ou BBB ou CCC
 feuille = Target.Offset(0, -2)
 derlign = Sheets(feuille).Cells(Cells.Rows.Count, "B").End(xlUp).Row

 'Contrôle du stock on parcoure la feuille CCC + definition du stock
 For Each c In Sheets(feuille).Range("B3:B" & derlign)

 If c = Target.Offset(0, -1) Then
 stock = (c.Offset(0, 6) + Target)
 MsgBox stock

 'controle que les achats couvrent les ventes (profil de stock)
 If c.Offset(0, 1) < c.Offset(0, 4) Then
 MsgBox "Le stock de cet article est épuisé ! Stock restant : " & stock & " unités", vbExclamation, "Etat des Stocks"
 Target = ""
 Exit Sub
 End If

 End If

 Next

 End If
sortie:
 End Sub

Bonsoir;et Merci

  • )Passage en paramètre de la colonne D dans mes sheets().. : je n'ai rien compris (je suis un zéro du VBA )
  • ) est ce que je peut ;après avoir essayer ;revenir a vous pour d'autres demandes concernant ce classeur et un autre classeur "planning de présence "?
Merci

Dans ta colonne D tu as le type article AAA BBB ou CCC

En vb on indique quelle feuille est impactée en faisant Sheets("Feuille Concernée").select

Moi j'ai Donc fait Sheet(ColonneD de ta ligne).select

Oui pas de pb

Bonsoir et Merci

  • ) j'ai normalement une vingtaine de FAMILLE : est ce que je doit copier colle la formule 20 fois et changer chaque fois le nom de la feuille ?
  • ) SI je veux savoir comment on change le message qui apparaît ?
Avant de revenir a notre classeur j'ai deux questions a part.
  • )Je suis entrain de préparer un planning de présence pour les ouvriers qui sont sous ma responsabilité (voir pièce jointe ) et je me trouve coincé : je veux que la couleur de chaque code(voir "Données") apparaît quand je choisi ce code dans "MOTIF".
  • )du lundi a jeudi et le samedi ;le nombre d'heures travailler est 8h30mn /jour alors que le vendredi c'est 7h30mn comment faire pour mètre deux formules.
  • )comment faire pour avoir les heures en moins.
si vous pouvez m'aider !

et si tu a des remarques ou des propositions ;n’hésite pas .

MERCI

9classeur1.xlsx (42.46 Ko)

Bonsoir,

Deja pour l'ancien fichier,

Tu vas donc recréer de nouvelles feuilles? Non rien a adapter, il faut juste que le nom de ta feuille soit egale a celle saisie dans la colonne D dans achats et ventes.

Le message est changeable sur le code vb : msgbox " XXXXX"

Cdt,

voila pour la couleur deja

7classeur1-1.xlsm (53.41 Ko)

Bonsoir;VB_troyes

  • )Merci pour la couleur;mais il y'a peut être une petite erre ure ;(voir pièce jointe )des motifs qui prennent la couleur des autres.
  • )pour la somme des heures en moins ; j'ai trouver une formule (voir colonne j ) et merci de la vérifier.
  • )Reste le vendredi dont le nombre heures de travail diffère des autres jours.
NB : seul le dimanche est jour de repos hebdomadaire.

-) pour notre premier classeur je vais le voir dimanche .

Merci pour tous.


Bonsoir;VB_troyes

  • )Merci pour la couleur;mais il y'a peut être une petite erre ure ;(voir pièce jointe )des motifs qui prennent la couleur des autres.
  • )pour la somme des heures en moins ; j'ai trouver une formule (voir colonne j ) et merci de la vérifier.
  • )Reste le vendredi dont le nombre heures de travail diffère des autres jours.
NB : seul le dimanche est jour de repos hebdomadaire.

-) pour notre premier classeur je vais le voir dimanche .

Merci pour tous.

Rechercher des sujets similaires à "creer message"