Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion CrazySoprano
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

CrazySoprano

Guest
Bonjour,
J'ai un pti soucis de code sur excel. Au fait je veux un code qui me permettra d'effectuer un bip sonore quand le contenu d'une cellule de la plage de G9 à G500 atteint 0. Quelqu un peut m'aider pour le code de la macro.. Merci Beaucoup
 
Re : Code

Bonjour CrazySoprano


Dans le module de la feuille concernée, essayez :​
VB:
Private Sub Worksheet_Change(ByVal Cible As Range)
    If Cible.Address = "$G$9" Then If Cible.Value = 0 Then Beep
End Sub



ROGER2327
#5843


Vendredi 13 Palotin 139 (Esquive de Saint Léonard da V, illusioniste - fête Suprême Quarte)
13 Floréal An CCXX, 7,0414h - bâton-d'or
2012-W18-3T16:53:58Z
 
Re : Code

Bonsoir CrazySoprano, et bienvenue à toi,

Voici un exemple de code à insérer dans le module de la feuille concernée :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G9:G500")) Is Nothing Then Exit Sub
If Target.Value <= 0 Then Beep
End Sub

Espérant avoir répondu.

Cordialement.


Edit : bonsoir ROGER.
 
Dernière édition:
Re : Code

Salut CrazySoprano et bienvenue sur ce forum 😉
Hello mister Roger2327

Si je puis me permettre, correction du code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  ' Si la cellule modifiée se trouve dans la plage
  If Not Intersect(Target, Range("G9:G500")) Is Nothing Then
    ' Si la valeur est égale à 0
    If Target.Value = 0 Then Beep
  End If
  ' Ou si les valeurs dans la colonne G sont des formules
  ' et que l'on modifie d'autres colonnes
  If Range("G" & Target.Row) = 0 Then Beep
End Sub

Edit : oups, salut papou-net sur ce coup là c'est moi qui suis en à la bourre 🙂

A+
 
Dernière modification par un modérateur:
Re : Code

Re...



Excellente correction... ...qui bloque sur
Code:
  If Not Intersect(Target, Range("G9:G500")) Is Nothing Then



ROGER2327
#5844


Vendredi 13 Palotin 139 (Esquive de Saint Léonard da V, illusioniste - fête Suprême Quarte)
13 Floréal An CCXX, 7,1399h - bâton-d'or
2012-W18-3T17:08:09Z
 
Re : Code

Suite...


Vous êtes pardonné, cher Monsieur BrunoM45.

Plus sérieusement, et en espérant avoir cette fois-ci bien lu la question :​
VB:
Private Sub Worksheet_Change(ByVal Cible As Range)
Dim Plg As Range, Cel As Range
    With Range("$G$9:$G$500")
    If Not Intersect(Cible, .Cells) Is Nothing Then
        If Not IsEmpty(Cible) And Cible.Value = 0 Then Beep
    ElseIf Not Intersect(Cible, .Precedents) Is Nothing Then
        Set Plg = Intersect(Cible.Dependents, .Cells)
        If Not Plg Is Nothing Then
            For Each Cel In Plg.Cells
                If Not IsEmpty(Cel) And Cel.Value = 0 Then Beep
            Next
        End If
    End If
    End With
End Sub


ROGER2327
#5845


Vendredi 13 Palotin 139 (Esquive de Saint Léonard da V, illusioniste - fête Suprême Quarte)
13 Floréal An CCXX, 7,2788h - bâton-d'or
2012-W18-3T17:28:09Z
 
Re : Code

Heuu Salut Le forum. Merci pour vos différentes reponses je les essaies une à une.
ROGER2327 Le code ne marche pas. Le déboguer me dit" Next sans For" et pointe sur le next vers la fin. Mrci
 
Re : Code

Sil vous plait Voila le Fichier en question joint a ce message. G8= e8-f8
G9 = g8+(e9-f9) ainsi de suite pour les autres colonnes du stock. Essayez de voir une formule de vba ki fonctionne correctement pour moi. Merci le Forum
 

Pièces jointes

Re : Code

Salut

Ah tu as voulu utilisé le code de Roger2327 ... et bien vois avec lui 😛😱

Mon code modifié, marche très bien et est moins complexe à lire, mais bon ...

A+
 
Re : Code

Naaaaaa BrunoM45 j'ai essayé tous vos codes ques vous avez postez mais rien ne marche. je m y connais po trop bien en vba excel.
Est ce que vous pouvez me traduire ce code dans ce langage vba????

i=(une cellule de la plage allant de 9 à 45)
pour i = 1 to 48 faire
si valeur=0 alors
msgbox "Le stock a atteint 0",vbinformation,"Attention" (Et mem si G10=0 et G11 = 1200 continuer le traiment sans avoir une alerte encore)
sinon
continuer le traitement
finsi
finpour
 
Re : Code

Re,

Avec ce simple code
Code:
Private Sub Worksheet_Change(ByVal Target As Range)  ' Ou si les valeurs dans la colonne G sont des formules
  ' et que l'on modifie d'autres colonnes
  If Range("G" & Target.Row) = 0 Then MsgBox "beep"
End Sub


Dans le fichier joint, si tu saisis 9 en sortie en cellule F10, tu dois voir le message 😱😛
Puisque ta valeur dans la colonne "G" de la ligne est égale à 0

A+
 

Pièces jointes

Re : Code

Oh Oui BRUNOM45 Tu viens de me rendre moins bete lOoOOl avec ton code xa marche parfaitement. Moins long et efficace. Merci Enormement.
 
Re : Code

Last Thing BrunoM45 Please. Comment faire pour que ce code s'exécute à chaque réouverture du fichier???? Du genre si je ferme et que j'ouvre le fichier le code disparait.
 
Re : Code

Re,

Oh Oui BRUNOM45 Tu viens de me rendre moins bete lOoOOl avec ton code xa marche parfaitement.

Tu vois quand tu veux être gentil avec moi, tu PEUX le faire 😱

Pour ton second problème, il faut enregistrer ton fichier avec l'extension ".xlsm"
Le type de fichier est : Classeur Excel (prenant en charge les macros)(*.xlsm)

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
786
Réponses
12
Affichages
373
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…