Msgbox à afficher

Bonsoir à tous, Bonsoir le Forum,

Je souhaite votre aide précieux en espérant de bien m’exprimer pour le sujet.

J’ai récupéré un fichier sur le forum qui fonctionne très bien dans son intégrité qui envoie un message d’alerte sur une des feuilles souhaitées du classeur quand une colonne (de notre choix) devient une valeur négative.

J’ai voulu l’adapter à mon classeur ici nommé « Gestionbiblio.xlsm » qui fonctionne partiellement càd si j’introduis une valeur par saisie moi-même le ‘msgbox’ fonctionne l’affichage est parfait tandis que dans mon fichier orignal j’ai plusieurs feuilles et les résultats des calcules se font via des fonctions RechercheV et ces valeurs sont incrémentées via un bouton dit macro pour la colonne D de ma feuille [GESTION BIBLIO]). Quand on l’indique manuellement càd en écrivant une saisie plus grande que le colonne C de ma feuille [GESTION BIBLIO]) alors automatiquement comme indique la formule (=C-D) devient une valeur négative et le message d’alerte « Msgbox » se met en route sur la feuille DETAIL JOURN. C’est ce que je souhaite mais ce message d’alerte se produit uniquement avec une saisie manuelle.

Mais quand je place les codes dans mon fichier original donc pour cette colonne D de ma feuille [GESTION BIBLIO] la macro fonctionne bien càd la valeur de la colonne [E : E] pour la ligne concerner devient bien négative comme il se doit mais à ce moment-là le msgbox ne s’affiche plus.

Je joins le fichier récupéré et adapté en nom et aussi le code VBA de la macro sur mon fichier original ;

Comment puis-je l’adapter.

En vous remerciant d’avance.

16gestionbiblio.xlsm (27.45 Ko)
Sub Archiver_Rapport()
  Dim Ligne%, Whd As Worksheet, Wd As Worksheet
  Dim i, Wdd As Worksheet
  Dim NomFichier As String, Chemin As String

  Application.ScreenUpdating = False
  Application.EnableEvents = False

  Set Whd = Sheets("Historique_Biblio")
  Set Wd = Sheets("DETAIL JOURN.")
  Set Wdd = Sheets("GESTION BIBLIO")

  NomFichier = "Rapprt" & Format(Now() - 1, " dd-mm-yyyy") ".pdf"
  Chemin = "C:\archive_bibliothèque"
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & NomFichier

  Ligne = Whd.Range("A" & Rows.Count).End(xlUp).Row + 1
  Whd.Range("A" & Ligne).Value = Wd.Range("B6").Value
  Whd.Range("B" & Ligne).Value = Wd.Range("B8").Value
  Whd.Range("C" & Ligne).Value = Wd.Range("B11").Value
  Whd.Range("D" & Ligne).Value = Wd.Range("D7:E7:F7").Value
  Whd.Range("E" & Ligne).Value = Wd.Range("D8:E8:F8").Value
  Whd.Range("F" & Ligne).Value = Wd.Range("D9:E9:F9").Value
  Whd.Range("G" & Ligne).Value = Wd.Range("D10:E10:F10").Value
  Whd.Range("H" & Ligne).Value = Wd.Range("D11").Value
  Whd.Range("I" & Ligne).Value = Wd.Range("F36").Value
  Whd.Range("J" & Ligne).Value = Wd.Range("F41").Value
  Whd.Range("K" & Ligne).Value = Wd.Range("B8").Value

  Whd.Hyperlinks.Add Anchor:=Whd.Range("K" & Ligne), Address:=Chemin & NomFichier
  Ligne = Sheets("GESTION BIBLIO").Range("C" & Rows.Count).End(xlUp).Row + 1

  Sheets("GESTION BIBLIO").Range("A" & Ligne).Value = Wd.Range("B8").Value
  Sheets("GESTION BIBLIO").Range("B" & Ligne).Value = Wd.Range("B11").Value

  For i = 14 To 28
      If Wd.Range("B" & i).Value = "" Then Exit For
      Sheets("GESTION BIBLIO").Range("C" & Ligne).Value = Wd.Range("B" & i).Value
      Sheets("GESTION BIBLIO").Range("D" & Ligne).Value = Wd.Range("C" & i).Value
      Sheets("GESTION BIBLIO").Range("E" & Ligne).Value = Wd.Range("D" & i).Value
      Ligne = Ligne + 1
  Next

  Sheets("Générale").Range("B2") = Sheets("Générale").Range("B2") + 1
  Sheets("Générale").Range("C2") = Sheets("Générale").Range("C2") + 1

  Wd.Range("D7:F7").ClearContents: Wd.Range("B14:B28").ClearContents
  Wd.Range("D14:D28").ClearContents: Wd.Range("B30:E34").ClearContents
  Wd.Range("F37").ClearContents: Wd.Range("F39").ClearContents: Wd.Range("F40").ClearContents
  Wd.Range("D7").Select
   Application.ScreenUpdating = True
   Application.EnableEvents = True

End Sub

Merci

Bonjour Thibet,

Vous devriez vous relire

Ceci dit, lorsque je regarde le fichier, le MsgBox intervient sur l'évènement Change de la feuille

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("Tableau1[VENDU/LOCATION]")) Is Nothing And Target.Count = 1 Then
    If Target.Offset(0, 1) < 0 Then
      Sheets("DETAIL JOURN.").Activate
      MsgBox "Attention : Valeur négative pour le/les livre(s) " & Target.Offset(0, -3).Value & " de " & Target.Offset(0, 1).Value, vbInformation + vbOKOnly
    End If
  End If
End Sub

Dans votre macro, vous désactivez ces évènements

Application.EnableEvents = False

Donc forcément, vous n'avez plus de message

A+

Bonjour BrunoM45,

Vous avez raison ! Peut-être un peu de repos ferais du bien à moi

En ce qui concerne dans mon fichier orignal ( Application.EnableEvents = False ), est bien désactivé mais pas de changement.

Pourriez vous revoir le fichier ci-dessous.

Merci et A+

Bonsoir le Forum, Bonjour BrunoM45,

Comment modifier ce code pour que le Msgbox fonctionne via la fonction RechercheV et non par un saisie.

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("Tableau1[VENDU/LOCATION]")) Is Nothing And Target.Count = 1 Then
    If Target.Offset(0, 1) < 0 Then
      Sheets("DETAIL JOURN.").Activate
      MsgBox "Attention : Valeur négative pour le/les livre(s) " & Target.Offset(0, -3).Value & " de " & Target.Offset(0, 1).Value, vbInformation + vbOKOnly
    End If
  End If
End Sub

Comme dans mon fichier dont je l'ai détaillé sur les 2 pages ci-dessous.

Merciii

Bonjour Thibet,

Je ne vois pas comment vous voulez vous y prendre avec votre stock

Comment peut-on faire une gestion de stock sur uniquement des quantités, sans référence à un article

Bonne chance

Bonjour BrunoM45,

Effectivement vous avez Raison ! sans réf. pas de popup mais est-ce que comme ça peut fonctionner. (Ajouté le tableau comme nouvelle feuille stock avec réf.)

Merci

A+

Bonsoir BrunoM45, Bonsoir le Forum,

Un fichier qui pourrais peut-être mettre en place le fonctionnement du msgbox, dans mon classeur ci-dessous la feuille 'gestion stock' la colonne E devienne négatif (via macro-feuille "Rapport" image dossier noir) mais le popup toujours pas présent, mais si je l'intoduis manuellement le popup s'affiche.

Pourriez-vous m'aider svp

Merci d'avance

A+

12test.xlsm (66.63 Ko)

Bonjour Thibet

J'ai trouvé CECI qui pourrait peut-être vous intéressé

Je n'irai pas plus en avant sur le sujet, vous confondez toujours un évènement Change (modification faite par l'humain)
avec une modification par macro

Bonne chance

Bonjour BrunoM45,

Merci pour ce lien, mais je travail avec mon excel et j'ai pas mal de tableaux qui fonctionnent.

Donc si je comprends bien on ne sais pas faire apparaître un Msgbox pour une cellule d'un résultat macro, je pense qu'excel devrait le faire mais bon.

Merci

A+

je ne pers jamais l'espoir.

Re,

Non vous avez mal compris

Je dis simplement qu'un évènement n'est actif que s'il est fait manuellement

Vous pouvez très bien faire une boucle pour mettre à jour votre stock (je n'ai pas compris votre principe brouillon pour moi)
et tester dans cette boucle le niveau de stock et afficher un MsgBox si valeur négative

Voilà ce que j'essaye d'exprimer

Bonjour BrunoM45,

Merci pour votre réponse, je voulais savoir si c'etait vraiment possible de l'accomplir de cette façon (je sais que ce difficile de voir mon point de vue).

Est-ce-que un boucle ralentirai le fonctionnement du classeur?

Merci encore une fois.

A+

Thibet.

bonjour Thibet, BrunoM45, le fil,

un autre essai, l'évenement Calcule, mais peut-être celui sera là trop souvent ou une macro à appeler à la fin de votre macro : voir macro "BSALV"

10gestionbiblio.xlsm (37.49 Ko)

Bonjour BsAlv,

Pourrons l'appliquer à mon classeur ci-dessous. Est-ce que c'est possible j'ai déjà la macro.

14test.xlsm (66.63 Ko)

A+

ce n'est pas clair ce que vous voulez après cette macro ..., un essai

21test-34.xlsm (55.54 Ko)

Bonjour BsAlv,

Tout d'abord je veux te remercier.

Si c'est possible à l'exécution du macro (img dossier noir) qui se trouve dans ma feuille "Rapport" après avoir choisi la quantité pour n'importe quel produit , si la quantité deviennte négative dans gestion stock renverrai la popup.

Manuellement ça fonctionne. Mais ici le but c'est de le faire fonctionner via le macro.

Merci

A +

si je fais cela, je reçois un msgbox "rapport up to date" et puis un msgbox s'il y a des quantités négatives ...

Alors il manque quoi ?

Un GRAND MERCI Sorry je navais pas vu je vais vérifier dès que je rentre.

Merci

A+

Rechercher des sujets similaires à "msgbox afficher"