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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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
Rejoignez-nous