un internaute
XLDnaute Impliqué
Bonsoir le forum
Je voudrais pouvoir émettre un son en plus du message.
Les 2 cellules E3 et E8 sont vides.
Lorsque je remplis la cellule E3 il est impossible de remplir cellule E8. Ça le fait bien mais en plus du message je voudrais faire émettre un son court et non pas Logoff.wav qui est fort et long
Et inversement E8 occupée impossible de remplir cellule E3 tout ça fonctionne très bien.
Manque un son court.
Merci pour vos éventuels retours
Cordialement
PS: Je suis sous Excel 2003 et j'ai aussi posté sur un autre forum. J'ai eu des réponses (une en particulier chez qui ça fonctionne mais pas chez moi).
Macro -ci-dessous dans ThisWorkbook
	
	
	
	
	
		
	
	
	
	
	
		
Dans module
	
	
	
	
	
		
	
		
			
		
		
	
				
			Je voudrais pouvoir émettre un son en plus du message.
Les 2 cellules E3 et E8 sont vides.
Lorsque je remplis la cellule E3 il est impossible de remplir cellule E8. Ça le fait bien mais en plus du message je voudrais faire émettre un son court et non pas Logoff.wav qui est fort et long
Et inversement E8 occupée impossible de remplir cellule E3 tout ça fonctionne très bien.
Manque un son court.
Merci pour vos éventuels retours
Cordialement
PS: Je suis sous Excel 2003 et j'ai aussi posté sur un autre forum. J'ai eu des réponses (une en particulier chez qui ça fonctionne mais pas chez moi).
Macro -ci-dessous dans ThisWorkbook
		VB:
	
	
	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
	
		Code:
	
	
	
	Dans module
		Code:
	
	
	Option Explicit
Private Declare Function PlaySound& Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName$, _
        ByVal hModule&, ByVal dwFlags&)
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
Sub JouerSon()
Dim MonWav As String
    MonWav = "C:\Users\toto\Desktop\Logoff.wav"     '... chemin et nom à adapter
    Call PlaySound(MonWav, 0&, SND_ASYNC Or SND_FILENAME)
End Sub