MSGBOX EN VBA
Résolu/Fermé
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
-
15 nov. 2011 à 20:42
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 16 nov. 2011 à 17:19
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 16 nov. 2011 à 17:19
A voir également:
- MSGBOX EN VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
16 nov. 2011 à 08:22
16 nov. 2011 à 08:22
Bonjour,
Je veux, je veux...
Je n'y arrive pas!
Qu'as tu fait déjà? Montre nous un bout de code...
Sinon, ça n'est pas très compliqué :
- une boucle pour les lignes (6-7) (8-9) (10-11) etc...
- un test If End If
- un MsgBox si oui...
En gros :
Je précise que ce code n'en est pas un. Il ne fonctionne donc pas. Il s'agit d'un exemple approximatif de ce qu'il convient de faire...
Je veux, je veux...
Je n'y arrive pas!
Qu'as tu fait déjà? Montre nous un bout de code...
Sinon, ça n'est pas très compliqué :
- une boucle pour les lignes (6-7) (8-9) (10-11) etc...
- un test If End If
- un MsgBox si oui...
En gros :
Dim Lign As Long For Lign = 6 To 10 Step 2 If "K"Lign - "K"Lign + 1 > 2 Then MsgBox End If Next
Je précise que ce code n'en est pas un. Il ne fonctionne donc pas. Il s'agit d'un exemple approximatif de ce qu'il convient de faire...
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
16 nov. 2011 à 08:35
16 nov. 2011 à 08:35
Bonjour Lanetmel,
Pour rejoindre le point évoqué par Pijaku, tu es sur un forum "d'entraide", il est donc souhaitable de dire "je souhaite" plutôt que "je veux". Cela n'incite guère les gens à t'apporter leur aide.
Quoiqu'il en soit, voici le code que tu cherches.
Il faut toujours penser à accepter un post qui vous sort du pétrin
Pour rejoindre le point évoqué par Pijaku, tu es sur un forum "d'entraide", il est donc souhaitable de dire "je souhaite" plutôt que "je veux". Cela n'incite guère les gens à t'apporter leur aide.
Quoiqu'il en soit, voici le code que tu cherches.
Private Sub Worksheet_Change(ByVal Target As Range) Dim resultat If (Not Intersect(Target, Range("K6:K7")) Is Nothing) Then If Range("K6").Value - Range("K7").Value > 2 Then MsgBox "(1) Supérieur à 2" End If End If If (Not Intersect(Target, Range("K8:K9")) Is Nothing) Then If Range("K8").Value - Range("K9").Value > 2 Then MsgBox "(2) Supérieur à 2" End If End If End Sub--
Il faut toujours penser à accepter un post qui vous sort du pétrin
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
4
16 nov. 2011 à 16:17
16 nov. 2011 à 16:17
Bonjour pijaku et Heremion,
merci beaucoup pour votre aide, désolé de ma formulation. J'ai compris le message. Si je ne me trompe pas, il faut mettre ce code dans la feuille, mais voilà que j'ai déjà ceux-ci dans cette feuille
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set vtarget = Intersect(Target, Columns(4))
If Not (vtarget Is Nothing) Then
For Each varea In vtarget
For Each vcell In varea
If Not (IsEmpty(vcell.Value)) Then
If vcell.Row > 5 Then
Range("C" & vcell.Row).Value = Time
End If
Else
Range("C" & vcell.Row).ClearContents
End If
Next
Next
End If
Application.EnableEvents = True
End Sub
Private Sub heure()
Dim temp As Range, heure As Range
Set temp = Range("D6:D110")
Set heure = Range("c6:C110")
If temp > 0 Then heure.Value = Time
End Sub
Il ne semble pas possible de créer un autre Private Sub worksheet_Change(ByVal Target As Range)
dans la même feuille.. J'ai aussi essayer d'integrer le nouveau code à la suite de l'autre mais de ce que je comprends ça peux pas marcher...puisque dans mon autre code j'ai aussi un intersect target...? Qu'en pensez-vous?
merci beaucoup
Mélanie
merci beaucoup pour votre aide, désolé de ma formulation. J'ai compris le message. Si je ne me trompe pas, il faut mettre ce code dans la feuille, mais voilà que j'ai déjà ceux-ci dans cette feuille
Private Sub worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Set vtarget = Intersect(Target, Columns(4))
If Not (vtarget Is Nothing) Then
For Each varea In vtarget
For Each vcell In varea
If Not (IsEmpty(vcell.Value)) Then
If vcell.Row > 5 Then
Range("C" & vcell.Row).Value = Time
End If
Else
Range("C" & vcell.Row).ClearContents
End If
Next
Next
End If
Application.EnableEvents = True
End Sub
Private Sub heure()
Dim temp As Range, heure As Range
Set temp = Range("D6:D110")
Set heure = Range("c6:C110")
If temp > 0 Then heure.Value = Time
End Sub
Il ne semble pas possible de créer un autre Private Sub worksheet_Change(ByVal Target As Range)
dans la même feuille.. J'ai aussi essayer d'integrer le nouveau code à la suite de l'autre mais de ce que je comprends ça peux pas marcher...puisque dans mon autre code j'ai aussi un intersect target...? Qu'en pensez-vous?
merci beaucoup
Mélanie
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
16 nov. 2011 à 16:24
16 nov. 2011 à 16:24
Dans la procedure Change, rien ne t'empêche d'avoir plusieurs intersec.
Tu les mets les uns à la suite des autres, en faisant bien attention qu'ils n'entrent pas en conflit.
Tu vas donc mettre dans ton
Tu les mets les uns à la suite des autres, en faisant bien attention qu'ils n'entrent pas en conflit.
Tu vas donc mettre dans ton
Private Sub Worksheet_Change(ByVal Target As Range)tous les tests sur les intersections.
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
4
16 nov. 2011 à 17:19
16 nov. 2011 à 17:19
Bonjour Heremion
ça a fonctionné! Il fallait que je le mette entre la première et deuxième ligne! moi j'essayais de le mettre à la fin!!!!
Un énorme merci pour ton aide!
ça a fonctionné! Il fallait que je le mette entre la première et deuxième ligne! moi j'essayais de le mettre à la fin!!!!
Un énorme merci pour ton aide!