Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

problème sur vb - conditions multiples

rh.finances

XLDnaute Junior
bonjour à tous,

je viens vers vous et ce superbe site pour soumettre un problème que je n'arrive pas du tout à régler.
le fichier joint au présent envoi comprend une feuille intitulée "modèle" sur laquelle je souhaite créer la condition suivante:
si dans la base de donnée D8-D45, apparait le mot "monétisation" (référencé en H7) ou le mot "RAFP" (référencé en H8) et que le "solde_créditeur" figurant en D47 est <= 20, alors : message d'erreur.

sachant que la base de données D8-D45 comprend déjà une validation de données, j'ai essayé tant bien que mal de passer par visual basic pour arriver à mes fins, mais n'étant pas vraiment expert dans ce domaine, je n'ai que des messages d'erreur. voilà le dernier code que j'ai essayé de rentrer:

Code:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Range("type").Value = H7 And Range("solde_crediteur").Value <= 20 Then
MsgBox "opération impossible", vbRetryCancel + Apparence + TypeDeBox, "non"
Select Case Reponse
Case vbRetry
Case vbCancel
End Select
End If

If Range("type").Value = H8 And "solde_crediteur" <= 20 Then
MsgBox "opération impossible", vbRetryCancel + Apparence + TypeDeBox, "non"
Select Case Reponse
Case vbRetry
Case vbCancel
End Select
End If

End Sub

si quelqu'un peut me venir en aide, ce serait vraiment sympa!!
d'avance, merci beaucoup !!

Alex
 

Pièces jointes

  • RECAP JOURS.zip
    26.2 KB · Affichages: 22

Staple1600

XLDnaute Barbatruc
Re : problème sur vb - conditions multiples

Bonjour


Quand tu utilises un Select Case

Code:
Select Case Reponse 
Case vbRetry
[COLOR=SeaGreen] 'ici une action si condition vraie[/COLOR]
Case vbCancel 
[COLOR=SeaGreen]'ici une autre action si condition vraie[/COLOR]
End Select

Edition: bonjour mon bon Monsieur Job
Il faudra qu'un jour je vous soumette un nouveau problème lié aux mathématiques
comme ce fut le cas jadis (merci encore pour l'aide apportée à l'époque)
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : problème sur vb - conditions multiples

Bonjour rh.finances, salut Staple,

Pas bien compris, mais essayez cette macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("type")) Is Nothing Or Target.Count > 1 Then Exit Sub

If (Target = Range("H7") Or Target = Range("H8")) And Range("solde_crediteur").Value <= 20 Then
MsgBox "Opération impossible !", 48
Target = ""
SendKeys "%{Down}"
End If

End Sub

Elle se déclenche sur le choix dans une liste déroulante en colonne D.

Curieux que le solde créditeur en E47 soit égal à un nombre de jours...

A+
 

Pièces jointes

  • RECAP JOURS(1).zip
    25.4 KB · Affichages: 33

rh.finances

XLDnaute Junior
Re : problème sur vb - conditions multiples

Bonjour Stapple1600 et Job75.

Merci beaucoup pour votre aide et l'intérêt porté à mon problème.
j'ai essayé ta formule Job et ça marche impeccable. c'est exactement ce dont j'avais besoin!!

merci, merci, merci beaucoup pour ce coup de pouce !!

Alex
 

job75

XLDnaute Barbatruc
Re : problème sur vb - conditions multiples

Re,

Au cas où l'entrée en colonne D se ferait manuellement sans utiliser la liste de validation, compléter avec le code en rouge :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("type")) Is Nothing Or Target.Count > 1 Then Exit Sub

If (Target = Range("H7") Or Target = Range("H8")) And Range("solde_crediteur").Value <= 20 Then
MsgBox "Opération impossible !", 48
Target = ""
[COLOR="Red"]Target.Select[/COLOR]
SendKeys "%{Down}"
End If

End Sub

A+
 

Discussions similaires

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