|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : double click sur Msgbox [ Divers / Débutants ] (PPN83)
Informations & options pour cette discussion
mercredi 25 avril 2007 à 23:01:09 |
double click sur Msgbox

PPN83
|
Bonjour,
Voici mon problème: je recherche un matricule et j'affiche un formulaire dont les valeurs des texbox correspondent à la ligne du matricule, les valeurs sont récupées à partir de la ligne Range("a2:ac2") par l'intermédiaire du controle source (si il y a mieux n'hésitez pas, je suis preneur) dans le but d'y apporter des modifications. Lorsque je modifie les textbox pas de problème, les valeurs modifiés sont reportées automatiquement dans Range("a2:ac2") puis copiées et coller dans la base. Si je modifie l'âge le calcul se fait et la valeur se retrouve sur la ligne Range("a2:ac2") mais quand je lui demande de copier la modif dans la base il ne modifie pas la valeur dans celle-ci bien qu'elle y soit dans ligne Range("a2:ac2"). En cherchant à comprendre j'ai remarqué qu'en intégrant un Msgbox mon problème était résolue. mais je suis obligé de cliquer 2 fois sur ok ou Annuler pour que le Msgbox se ferme ???
alors si vous avez une solution avec ou sans Msgbox je suis preneur Merci de vos réponses
Public Sub CmdEnr_Click()
If TextCiv.Value = "" Then MsgBox "Veuillez saisir la civilité", vbCritical, "Erreur de saisie" TextCiv.SetFocus Exit Sub End If If TextNom.Value = "" Then MsgBox "Veuillez saisir le nom", vbCritical, "Erreur de saisie" TextNom.SetFocus Exit Sub End If If TextCiv.Value = "Madame" And TextFill.Value = "" Then MsgBox "Veuillez saisir le nom de jeune fille", vbCritical, "Complément d'information" TextFill.SetFocus Exit Sub Else If TextCiv.Value <> "Madame" And TextFill.Value <> "" Then MsgBox "Nom de jeune fille non valide", vbCritical, "Erreur de saisie" TextFill.Value = "" TextPre.SetFocus Exit Sub End If End If If TextPre.Value = "" Then MsgBox "Veuillez saisir le prénom", vbCritical, "Erreur de saisie" TextPre.SetFocus Exit Sub End If If TextNée.Value = "" Then MsgBox "Veuillez saisir la date de naissance", vbCritical, "Erreur de saisie" TextNée.SetFocus Exit Sub Else If IsDate(TextNée.Value) = False Then MsgBox "Date non valide", vbCritical, "Erreur de saisie" TextNée.Value = "" TextNée.SetFocus Exit Sub End If End If
If TextAge.Value < 18 Or TextAge.Value > 65 Then MsgBox "L'âge doit être compris entre 18 et 65 ans, vérifier la date de naissance", vbCritical, "Erreur de saisie" TextAge.Value = "" TextNée.SetFocus Exit Sub End If age = DateDiff("yyyy", TextNée, Date) TextAge.Value = age
Worksheets("Recherche").Select 'dans cette feuille je reporte de la feuille "base" les valeurs de la ligne correspondant à ma recherche Range("a2:ac2").Select 'valeurs récupérer dans la base Selection.Copy Sheets("base").Select Recherche.Select '(matricule recherché) MsgBox "Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention" If MsgBox("Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention") = vbCancel Then Exit Sub End If ActiveSheet.Paste End Sub
|
|
|
mercredi 25 avril 2007 à 23:18:26 |
Re : double click sur Msgbox

jmfmarques
|
Bonsoir,
Je n'irais pas jusqu'à le jurer, mais ce "phénomène" sent assez le "croche-pieds.
Premuière question : aurais-tu écrit quelquepart ailleurs dans ton code (notamment lors d'une perte de focus) : CmdEnr_Click Ne me réponds pas sans avoir procéder à une recherche sur ce mot à l'aide de l'éditeur.
|
|
|
mercredi 25 avril 2007 à 23:43:25 |
Re : double click sur Msgbox

jmfmarques
|
Autre chose avant d'aller dormir et d'oublier : Rien à voir avec VB...
Je lis :
If TextCiv.Value <> "Madame" And TextFill.Value <> "" Then MsgBox "Nom de jeune fille non valide", vbCritical, "Erreur de saisie" TextFill.Value = "" TextPre.SetFocus Exit Sub End If
Si ton appli doit tourner ailleurs qu'en France, ne ne sais pas... (dépend du pays) Mais si elle doit tourner en France, je te rappelle que la mention même de "Nom de jeune fille" est illégale en France depuis plusieurs années déjà ! L'ancien "nom de jeune fille" est devenu purement et simplement le seul nom patronymique
Existent également les nptions de "nom d'usage" et "nom de courrier" Quant ) ce que tu appelles le "nom" en attribuant celui de l'époux, il ne peut figurer qu'ainsi :
Madame DUPONT épouse/veuve/divorcée DURAND l'appelation Madame DURAND née DUPONT est interdite en France depuis plusieurs années.
Bonne nuit.
|
|
|
jeudi 26 avril 2007 à 00:18:36 |
Re : double click sur Msgbox

chaibat05
|
Réponse acceptée !
Bonsoir, t' as deux msgBox qui se chevauchent
MsgBox "Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention" If MsgBox("Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention") = vbCancel Then
je te conseille de conserver le dernier et de spécifier les deux buttons
If MsgBox("Confirmez vous l'enregistrement", vbYesNo + vbExclamation, "Attention") = vbNo Then <code Annulation> Else <code Acceptation> End If
|
|
|
jeudi 26 avril 2007 à 00:22:43 |
Re : double click sur Msgbox

chaibat05
|
s' agissant d' une question, c' est plutôt vbYesNo + vbQuestion
|
|
|
jeudi 26 avril 2007 à 08:27:07 |
Re : double click sur Msgbox

lermite222
|
bonjour, tu a écrit,
Worksheets("Recherche").Select 'dans cette feuille je reporte de la feuille "base" les valeurs de la ligne correspondant à ma recherche Range("a2:ac2").Select 'valeurs récupérer dans la base Selection.Copy Sheets("base").Select Recherche.Select '(matricule recherché) MsgBox "Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention" If MsgBox("Confirmez vous l'enregistrement", vbDefaultButton2 + vbOKCancel + vbExclamation, "Attention") = vbCancel Then Exit Sub End If ActiveSheet.Paste End Sub Indépendament des 2 MsgBox décrit ci-dessus par chaibat05, Tu sélectionne la feuille Recherche et tu dit que c'est dans cette feuille que tu met le résultat d'une recherche, où est la recherche ? je ne vois que la ligne 2 sélectionnée En finale, tu veux écrire ou tu veux lire des données ? En faite tu sélectionne Recherche / champ A2:C2 et tu copie sur Base mais tu ne donne pas d'adresse de copie ? ou bien je dort encore ou bien il y a un noeud. cordialement louis
|
|
|
jeudi 26 avril 2007 à 09:49:10 |
Re : double click sur Msgbox

PPN83
|
Bonjour Non pas d'autre CmdEnr_Click Ok pour le nom patronymique merci
|
|
|
jeudi 26 avril 2007 à 10:42:39 |
Re : double click sur Msgbox

PPN83
|
Bonjour, voici une autre partie de mon projet pour éclairer lermite222 VisioCAE est le 2 ème formulaire qui me permet d'afficher et de modifier les valeurs à partir des Textebox, chaque Textbox est lié à la ligne Range("a2:ac2") de la feuille (Recherche) par un controlSource, il me sert à voir et à modifier les donnée de la feuille ("base") rentrée précédemment par l'intermédiaire d'un autre formulaire. Si je modifie la valeur dans le textbox la modif est faite en automatique sur la fameuse ligne y compris le résultat du calcul de l'age sauf qu'il ne me copie pas et uniquement cette valeur dans la base mais si je met un Msgbox ça marche ??? j'espère avoir été clair faut reconnaître que c'est pas évident.
Merci
Public Sub CmdRech_Click()
If TxtCiv <> "" Or TxtEmp <> "" Then MsgBox "Veuillez terminer la saisie ou cliquer sur ANNULER", vbExclamation, "Erreur de saisie" Exit Sub End If
Worksheets("Base").Select
RecMat = InputBox("Entrer le N° Matricule") Set Recherche = Worksheets("Base").Columns(1).Find(RecMat) If Not Recherche Is Nothing Then Recherche.Select ActiveCell.EntireRow.Select Worksheets("Recherche").Range("a2").Value = Range(Recherche.Address).Offset(0, 0) Worksheets("Recherche").Range("b2").Value = Range(Recherche.Address).Offset(0, 1) Worksheets("Recherche").Range("c2").Value = Range(Recherche.Address).Offset(0, 2) Worksheets("Recherche").Range("d2").Value = Range(Recherche.Address).Offset(0, 3) Worksheets("Recherche").Range("e2").Value = Range(Recherche.Address).Offset(0, 4) Worksheets("Recherche").Range("f2").Value = Range(Recherche.Address).Offset(0, 5) Worksheets("Recherche").Range("g2").Value = Range(Recherche.Address).Offset(0, 6) Worksheets("Recherche").Range("h2").Value = Range(Recherche.Address).Offset(0, 7) Worksheets("Recherche").Range("i2").Value = Range(Recherche.Address).Offset(0, 8) Worksheets("Recherche").Range("j2").Value = Range(Recherche.Address).Offset(0, 9) Worksheets("Recherche").Range("k2").Value = Range(Recherche.Address).Offset(0, 10) Worksheets("Recherche").Range("l2").Value = Range(Recherche.Address).Offset(0, 11) Worksheets("Recherche").Range("m2").Value = Range(Recherche.Address).Offset(0, 12) Worksheets("Recherche").Range("n2").Value = Range(Recherche.Address).Offset(0, 13) Worksheets("Recherche").Range("o2").Value = Range(Recherche.Address).Offset(0, 14) Worksheets("Recherche").Range("p2").Value = Range(Recherche.Address).Offset(0, 15) Worksheets("Recherche").Range("q2").Value = Range(Recherche.Address).Offset(0, 16) Worksheets("Recherche").Range("r2").Value = Range(Recherche.Address).Offset(0, 17) Worksheets("Recherche").Range("s2").Value = Range(Recherche.Address).Offset(0, 18) Worksheets("Recherche").Range("t2").Value = Range(Recherche.Address).Offset(0, 19) Worksheets("Recherche").Range("u2").Value = Range(Recherche.Address).Offset(0, 20) Worksheets("Recherche").Range("v2").Value = Range(Recherche.Address).Offset(0, 21) Worksheets("Recherche").Range("w2").Value = Range(Recherche.Address).Offset(0, 22) Worksheets("Recherche").Range("x2").Value = Range(Recherche.Address).Offset(0, 23) Worksheets("Recherche").Range("y2").Value = Range(Recherche.Address).Offset(0, 24) Worksheets("Recherche").Range("z2").Value = Range(Recherche.Address).Offset(0, 25) Worksheets("Recherche").Range("aa2").Value = Range(Recherche.Address).Offset(0, 26) Worksheets("Recherche").Range("ab2").Value = Range(Recherche.Address).Offset(0, 27) Worksheets("Recherche").Range("ac2").Value = Range(Recherche.Address).Offset(0, 28) Else MsgBox "Le matricule n'existe pas", vbCritical, "Erreur de saisie" Exit Sub End If VisioCAE.Show End Sub
|
|
|
jeudi 26 avril 2007 à 22:21:16 |
Re : double click sur Msgbox

PPN83
|
ok merci je n'ai plus le problème du double click mais ma question est toujours d'actualité concernant le reste Merci d'avance
|
|
|
jeudi 26 avril 2007 à 22:28:37 |
Re : double click sur Msgbox

jmfmarques
|
Réponse acceptée !
A mon avis ton Msgbox donne simplement le temps au système de "respirer" Un bon Doevents devrait faire l'affaire, ici. 
|
|
|
Cette discussion est classé dans : end, exit, value, msgbox, vbcritical
Répondre à ce message
Sujets en rapport avec ce message
Impression multiple en vb6 [ par Fabrice88 ]
slt,j'ai fais un prog pour imprimmer les jaquette cd.voici le code pour l'impression :CMD.CancelError = TrueCMD.Flags = &H1& 'Active le bouton radio S
Nom de fonction [ par Gee ]
Bonjour,J'aimerais savoir comment nous pouvons en "Run-time" connaître le nom de la fonction dans la quel nous sommes.C'est à dire, que je puisse dans
Comment mettre un numéro de facture par défaut qui s'incrémente automatiquement [ par titi ]
Salut,j'ai un petit pb, je dois modifier le code ci dessous pour qu'un numéro de facture s'affiche automatiquement sous la forme:F0109014F:désignant f
probleme sous VBA [ par oinoin ]
voila une partie de mon code et je comprend vraiment pas pkoi ça ne marche pas a une ligne ou on me met incompatibilité de type ... si kkun pouvais me
Client opc en VB.NET [ par ours68 ]
Je suis entrain de faire un client opc à l'aide d'un projet en VB6 que j'ai converti. Le client est sur la base du client OFS de schneider Electric.Le
pkoi y a pas la msgbox [ par raphy2 ]
Bhein j essaye de faire un petit chat mais j ai un petit problemePrivate Sub BTconnect_Click()Wck.Connect "127.0.0.1", 12666End SubPrivate S
pb de boucle moulinette trop longue [ par papaours ]
bonjour je fais tourner ce code qui supprime des lignes en doubles sur une feuille excel.en gros j'ai 1000 lignes par feuilles et le programme mouline
Besoin d'aide pour une imprssion sous word a partir d'access !!! [ par jcconi ]
Je vous presente le code suivant !!Dim Word_Application As Word.ApplicationOn Error Resume NextSet Word_Application = GetObject(, "Word.application")I
questionnaire avec compte a rebours [ par bizbiz_2 ]
Bonjour je sais pas si quelqu'un pourrait m'aider... je dois faire un questionnaire mais j'arrive pas a faire fonctionner le compte a rebours.Voici mo
vbscript probleme avec fonction mid [ par william the new ]
voila le code que j'ai rentrésub verifdim longueur dim nomdim adim i a=""nom=txt_nom if IsEmpty(nom) then msgbox "veuillez saisir votre nom" exit su
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|