VBA

SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009
- 14 févr. 2009 à 21:24
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009
- 16 févr. 2009 à 19:54
Bonsoir, je débute avec VBA, et je n'arrive pas à faire une petite Macro simple
pouvez-vous m'aider svp ?

Sub aller_saisie_fact()


If MsgBox("Sélectionne le client à facturer", vbOKCancel, "choix_client_facture" = "") Then Exit Sub
    Sheets("FACTURE").Select
End If
End Sub
PANCE 35

16 réponses

NHenry
Messages postés
14967
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 août 2022
161
14 févr. 2009 à 23:30
Bonjour,

Si tu veux une box avec les choix OK et Annuler :
Essaye plutot :
If MsgBox("Sélectionne le client à facturer", vbOKCancel, "choix_client_facture")=vbcancel Then Exit Sub
    Sheets("FACTURE").Select
End If
End Sub

si c'est pour une saisie, préfère InputBox.

http://nhen0039.chez-alice.fr/index.php
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
14 févr. 2009 à 23:50
On pourra aussi enlever End If
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

15 févr. 2009 à 14:50
Bonjour, merci de prendre le temps de me repondre
Je voudrais juste que si ("choix client facture") est vide, alors un message s'affiche, me demandant de selectionner
un client dans la zone "choix client facture"

PANCE 35
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
15 févr. 2009 à 19:06
Bonjour

Ce serait mieux d'afficher le message tant que la zone est vide et non pas si la zone est libre. Dans ce cas, il faut remplacer ton If par un bloc Do While. Si l'utilisateur veut abandonner, il peut utiliser le bouton Annuler.

Sub aller_saisie_fact()
   Do While choix_client_facture = ""
       If Msgbox "Sélectionne le client à facturer", vbOKCancel) = vbCancel Then Exit Do
   Loop
   Ilf choix_client_facture <> "" Then Sheets("FACTURE").Select
End Sub


Amicalement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

15 févr. 2009 à 20:47
Merci, mais apres essai, cela ne fonctionne pas

PANCE 35
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
16 févr. 2009 à 00:19
désolé

Sub aller_saisie_fact()
   If choix_client_facture = "" Then
       MsgBox "Sélectionne le client à facturer", vbOKCancel = vbCancel
       Exit Sub
    End If
   Sheets("FACTURE").Select
End Sub




 


 
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

16 févr. 2009 à 08:58
Bonjour, effectivement, avec cette macro, lorsque "choix_client_facture" est vide, un message me dit de "Selectionner le client a facturer", mais quand un client est selectionner, le même message apparait et à aucun moment il ne me renvoi à ma feuille de facturation (facture).

Peut-être la msgbox pourrait-elle contenir Okonly ?

merci

PANCE 35
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
16 févr. 2009 à 10:33
Tu as raison


Sub aller_saisie_fact()
   If choix_client_facture = "" Then
       MsgBox "Sélectionne le client à facturer", vbOkOnly
       Exit Sub
    End If
   Sheets("FACTURE").Select
End Sub

Bon courage 
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

16 févr. 2009 à 12:26
Bonjour, suite essai derniere macro, le message s'affiche bien, mais il s'affiche dans les deux cas, c'est à dire que la zone (choix_client_facture) est = à "" et quand un client est selectionner

je cherche encore

PANCE 35
0
NHenry
Messages postés
14967
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 août 2022
161
16 févr. 2009 à 13:55
Bonjour,

Tu as vérifier la valeur de choix_client_facture ?

http://nhen0039.chez-alice.fr/index.php
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

16 févr. 2009 à 17:19
Oui, une liste deroulante contenant :
 plaged entree: BD_nomclient
cellule liee : choix_client_facture

ensuite un bouton, qui renvoi a saisi facture, si et seulement si ma liste deroulant contient un nom, c'est à dire que "choix_client_facture" n'est pas égal à zéro

j'espere bien me faire comprendre afin que vos lumières me guide vers la réussite de ce preojet, merci

PANCE 35
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
16 févr. 2009 à 18:03
Je pense que tu n'as pas mis Option Explicit dans ton code. Mets-le dans la première ligne de ta fenêtre Visual Basic.
Si choix_client_facture est le nom d'une cellule, il faut utliser Range("choix_client_facture").Value :

If("choix_client_facture").Value = "", etc
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
16 févr. 2009 à 18:04
Pardon, c'est If Range("choix_client_facture").Value = ""
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

16 févr. 2009 à 18:39
Bonsoir, avec cette macro, lorsque que "choix_client_facture" est vide, le message apparait, jusque là tout va bien
mais lorsqu'il y a un client selectionner, il ne se passe rien

vous êtes près du but

merci

Sub aller_saisie_fact()


   If Range("choix_client_facture").Value = "" Then
      MsgBox "Sélectionne le client à facturer", vbOKOnly
       End If
    Exit Sub
    Sheets("FACTURE").Select
  End Sub

PANCE 35
0
cs_Orohena
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
16 févr. 2009 à 19:20
Regarde mes messages précécents, et notamment la position de l'instruction Exit Sub
0
SEBAS35
Messages postés
8
Date d'inscription
lundi 9 février 2009
Statut
Membre
Dernière intervention
16 février 2009

16 févr. 2009 à 19:54
Bonsoir, merci a tous

résolu
bonne soirée

PANCE 35
0