• Initiateur de la discussion Initiateur de la discussion Laliemonamour
  • 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 !

L

Laliemonamour

Guest
Bonjour,
je m'arrache les cheveux depuis ce matin.
J'ai un fichier excel avec des valeurs dans les colonnes B à AC. En AF, une formule qui effectue des opérations
sur ces colonnes. Les résultats en AF sont donc variable au gré des modifications apportées aux colonnes précédentes.
Je voudrais qu'une msgbox avec un message et un bip d'alerte s'affiche lorsque le résultat de cette colonne AF < 15.
J'ai trouvé ceci:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim A As Long

A = Range("AF17").Value
If A < 15 Then
MsgBox "Solde de congé insuffisant!", , "Attention"
Target = ""
Target.Activate

End If
End Sub
Mais... cela ne fonctionne que en que pour une seule ligne, ici la 17! Je ne parviens pas à l'appliquer à toutes les lignes!!!!! Je sens que j'approche du but mais je perds patience.
De plus, ma formule ne tiens pas compte de l'alerte sonore que je souhaite y apporter!

D'avance, un grand merci de vos réponses.

Sébastien
 
Re : Msgbox

Bonjour Sebastien (comme on ne se connait pas je ne vais pas t'appeler mon amour 😀 )
Peut être comme ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Long
'Si la cellule est de A à AC
If Target.Column < 30 Then
    A = Range("AF" & Target.Row).Value
    If A < 15 Then
        Beep
        MsgBox "Solde de congé insuffisant!", , "Attention"
        'On bloque les évennements pour éviter une boucle sans fin
        Application.EnableEvents = False
        Target = ""
        Target.Activate
        'On réactive les evennements
        Application.EnableEvents = True
    End If
End If
End Sub
Cordialement
 
Re : Msgbox

Salut Laliemonamour, le Forum

Sans fichier difficile de t'aider néanmoins un test avec le code ci-dessous

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim A As Long, i As Integer
For i = 1 To 2000
A = Range("AF" & i).Value
    If A < 15 And Target <> "" Then
        MsgBox "Solde de congé insuffisant!", , "Attention"
        Beep
        With Target
            .Value = ""
            .Activate
        End With
    End If
Next i
End Sub

Si pas ça... poste ton fichier dépourvu de données confidentielles et allégé

EDITION: Salut FG🙂 désolé... pas rafraichit et vu la chaleur ici... et tu m'en vois désolé😛
Bonne Journée
 
Dernière édition:
Re : Msgbox

Super, merci, Ca fonctionne...
Et si maintenant, je ne veux pas que le message soit bloquant mais qu'il m'informe que Attention, il ne reste que 15h de congé...
Et qu'il me demande, "voulez-vous continuez????", oui ou non...
Merci d'avance!
Sébastien
PS: Lalie "mon amour", c'est ma petite fille... 🙂
 
Re : Msgbox

Bonjour à tous,

peut être une autre approche ainsi :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Target.Column < 2 Or Target.Column > 29 Then Exit Sub
For Each c In Target
    If Cells(Target.Row, 32).Value < 15 Then MsgBox "Alerte...": Exit For
Next c
End Sub
bon après midi
@+
 
Re : Msgbox

Re
Et dire que pensai que mon petit fichier était simple d'utilisation....
Une proposition qui sort tout droit de l'Atelier 😀
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Long, R As Integer
'Si la cellule est de A à AC
If Target.Column < 30 Then
    A = Range("AF" & Target.Row).Value
    If A < 15 Then
        Beep
        R = MsgBox("Solde de congé insuffisant!" & vbLf & "Voulez vous continuer ?", vbYesNo, "Attention")
        Select Case R
            Case vbYes
                'Action en cas de Oui
            Case vbNo
                'Action en cas de non
                Application.EnableEvents = False
                Target = ""
                Target.Activate
                Application.EnableEvents = True
        End Select
    End If
End If
End Sub
Cordialement
 
- 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.
Retour