Emetre un son si cellule E3 ou E8 occupée

Re

Au départ les 2 cellules E3 et E8 sont vides. Si le bilan de mes charges de l'année 2020 sont négatives de 100€ par exemple je mets 100€ dans cellule E3

Donc je ne peux pas mettre 100 € dans cellule E8 sinon message et beep

Inversement si positives 100€ dans cellule E8 et je ne peux pas mettre 100 € dans cellule E3 sinon message et beep

Je peux t'envoyer un fichier perso STP?

D'avance merci

heu ça correspond pas a la condition que tu a codé

la condition E8/E3 c'est si l'un ou l'autre n'est pas vide

donc qu'il y ai 100€ ou 1000€ dans l'une ou l'autre l'autre ne peut être modifiée

le choix d'utiliser l'event dans thisworkbook pourquoi????

sinon tel que je te l'ai donné , j'ai testé , ça fonctionne

Bonjour le forum

Trouvé en 5 minutes après y avoir passé des heures.

Dans un module

Sub JouerSon()

' Joue le son du fichier C:\Windows\Media\Windows Exclamation.wav.wav

Application.ExecuteExcel4Macro "SOUND.PLAY(,""C:\Windows\Media\Windows Exclamation.wav"")"

End Sub

Puis dans ThisWorkbook

JouerSon

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim NombreJour As Integer
Dim Ladate As Date

  Application.ScreenUpdating = False
  If Target.Count > 1 Then Exit Sub
  Application.EnableEvents = False
  ' On recherche si la page est surveillée
  If Left(Sh.Name, 7) = "Charges" Then  'Le chiffre 7 = Nombre de lettres du mot "Charges".On peut mettre 8 avec un espace après "Charges " pour une sécurité.
    If Not Intersect(Range("B12:B112,E12:E112"), Target) Is Nothing Then

      If Target.Interior.ColorIndex = 2 Then
        ' Si la colonne B et la colonne E est vide on efface la date
        Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("E" & Target.Row) = "", "", Application.Proper(Format(Date, "dddd dd mmmm yyyy")))

   ' ********* Début Modifs. Tapez le Montant (colonnes E ou B) et éventuellement Modifier les Dates (Colonne A) sous le format suivant => 07/02/20 (Exemple)
      End If
      '
      ' Début modification du 05/08/2020 : Inscription automatique date en cellule A17
    ElseIf Not Intersect(Range("E7,J2"), Target) Is Nothing Then
      If Target = "" Then
        Range("A18").ClearContents           ' Suppression date si SUPPR cellule E6
      Else
        If Range("E18") = Range("E7") Then
          Range("A18") = Application.Proper(Format(Date, "dddd dd mmmm yyyy"))        ' Sinon on inscrit la date
        End If
      End If
      ' Fin modification du 05/08/2020 : Inscription automatique date en cellule A17
      '
    ElseIf Target.Column = 1 And Target.Row > 12 And Target.Interior.ColorIndex = 2 Then   'Ajout de And Target.Interior.ColorIndex = 2 pour pouvoir recopier texte ligne
      If IsDate(Target) Then
        Target = Application.Proper(Format(Target, "dddd dd mmmm yyyy"))        ' Sinon on inscrit la date
      Else
        Target = ""
   ' ***************** Fin modifs

      End If

 'Début modifs le 14/02/2021
    ElseIf Not Intersect(Target, Union(Range("E3"), Range("E8"))) Is Nothing Then
      x = Range("E3").Value
      y = Range("E8").Value
      If (x <> "") And (y <> "") Then
      JouerSon
       Target.ClearContents
        MsgBox "Impossible de saisir une valeur dans cellule " & Target.Address(rowabsolute:=False, columnabsolute:=False) & " car cellule " & IIf(Target.Address = "$E$8", "E3", "E8") & " renseigné"
      End If
 'Fin modifs le 14/02/2021

    End If
  End If
  Application.EnableEvents = True
End Sub

Grâce au lien ci-dessous qui date de juillet 2013 je crois

http://forum.excel-pratique.com/excel/jouer-un-son-wav-excel-2010-t41337.html

Merci à tous

Bonne fin de journée à tous

Cordialement

BONJOUR

je vais quand meme attirer ton attention sur un petit detail qui a son importance

teste ses deux petites choses comme ça dans un fichier vierge et regarde le curseur de ta souris (celui de l'attente sablier ou cercle )

Sub joueBeepWindows2ApiBlack()
Dim MonWav As String
    MonWav = "C:\Windows\Media\Windows Exclamation.wav"     '... chemin et nom à adapter
  ExecuteExcel4Macro ("CALL(""winmm"",""PlaySoundA"",""JCJJ"",""" & MonWav & """, " & 0 & "," & &H1 & ")")
End Sub

Sub joueBeepWindows3()
Application.ExecuteExcel4Macro "SOUND.PLAY(,""C:\Windows\Media\Windows Exclamation.wav"")"
End Sub

dans le lien que tu donne on parle de synchronisation avec un msgbox ben on est en plein dedans

avec la tienne le message se déclencherait après la FIN !!! du beep et la fermeture de l'object playsound

Bonsoir patricktoulon

Tu as raison c'est nettement mieux

J'ai adopté ta solution

Encore merci et bonne fin de soirée

Cordialement

Rechercher des sujets similaires à "emetre occupee"