MsgBox vbyesno + 1 perso

wilfried_42

XLDnaute Barbatruc
bonsoir à toutes et à tous

j'ai cherché dans toutes les discussions concernant les msgbox et je ne trouve pas

je cherche à réaliser une MsgBox avec 3 boutons oui non et suivant

rep = msgbox("Compte trouvé",vbyesno + vb???????)

je plante là

merci à vous
 

jeanpierre

Nous a quitté
Repose en paix
Re : MsgBox vbyesno + 1 perso

Bonsoir Wilfried42,

Pour moi, un message Box n'a qu'une solution...

Sinon, il faut passer par un USF, par exemple.....

Peut-être un ZOP....

Peux-tu préciser sinon....

En attendant, Bonne soirée

Jean-Pierre
 

wilfried_42

XLDnaute Barbatruc
Re : MsgBox vbyesno + 1 perso

salut jean pierre

je precise, j'ai une liste de mouvement de patients

quand je saisie le nom, je recherche dans ma liste si ce patient est deja venu

si je le trouve, ma msgbox m'affiche son nom,prenom, date de naissance et lieu, pour une confirmation d'identite

si je reponds non, j'arrete ma recherche, si je reponds oui, je recopie les renseignements.

j'aimerai ajouter un bouton suivant, pour faire continuer la recherche

merci à toi et bonne soirée.
 

jeanpierre

Nous a quitté
Repose en paix
Re : MsgBox vbyesno + 1 perso

Re,

sans être sûr, pour moi, d'aller plus loin, et pour te permettre d'avoir d'autres solutions, il faudrait, au moins, avoir ton code, ou ta vision des choses...

Sinon, au pied levé, je ne vois pas... même si j'ai compris ton problème..

A lire un plus d'explication.
 

wilfried_42

XLDnaute Barbatruc
Re : MsgBox vbyesno + 1 perso

resalut jean-pierre

tu n'as pas interféré, je tenvoie mon code
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address = "$E$5" Then
Dim nom As String
Dim returnvalue As Variant
Dim i, j As Long
nom = zz.Value
For i = 2 To Sheets("Fichier").Range("B65536").End(xlUp).Row
If Sheets("Fichier").Range("B" & CStr(i)).Value = nom Then
lib = Sheets("Fichier").Range("B" & CStr(i)).Value & " " & _
Sheets("Fichier").Range("C" & CStr(i)).Value & Chr$(13) & _
"né le : " & Sheets("Fichier").Range("N" & CStr(i)).Value & " à : " & _
Sheets("Fichier").Range("O" & CStr(i)).Value & Chr$(13) & _
"Venant de : " & Sheets("Fichier").Range("L" & CStr(i)).Value & Chr$(13)
returnvalue = MsgBox("Le patient éxiste déja dans la base Voulez vous reprendre ses données" & _
Chr$(13) & Chr$(13) & lib, vbYesNoCancel, "Message")
If returnvalue = vbYes Then
Range("E6") = Sheets("Fichier").Range("C" & CStr(i))
Range("D9") = Sheets("Fichier").Range("N" & CStr(i))
Range("F9") = Sheets("Fichier").Range("O" & CStr(i))
Range("E10") = Sheets("Fichier").Range("P" & CStr(i))
Range("E12") = Sheets("Fichier").Range("Q" & CStr(i))
If Sheets("Fichier").Range("S" & CStr(i)).Value = Sheets("tables").Range("C1").Value Then Range("A6").Value = 1 Else Range("A6").Value = 2
If Sheets("Fichier").Range("R" & CStr(i)).Value = Sheets("tables").Range("B1").Value Then Range("A5").Value = 1 Else Range("A6").Value = 2
For j = 2 To Sheets("Etablissements").Range("A65536").End(xlUp).Row
If Sheets("Etablissements").Range("A" & CStr(j)) = Sheets("Fichier").Range("M" & CStr(i)) Then Range("A2").Value = j - 1
Next j
i = 69000
Else
If returnvalue = vbCancel Then i = 69000
End If
End If
Next i
End If
End Sub

j'utilise actuellement YesNoCancel pour simuler le 3ème bouton, j'aimerais que le 2eme bouton s'intitule Suivant à la place de Non

d'apres ce que j'ai compris, la solution de didier peut aller encore plus loin mais je vais etre long à comprendre vu mon niveau en VBA

merci à toi
 

myDearFriend!

XLDnaute Barbatruc
Re : MsgBox vbyesno + 1 perso

Re,

Jeanpierre à dit:
Bonsoir Didier,
Désolé d'avoir interféré...
Bonne soirrée à tous en tous cas.
Pourquoi jeanpierre ? Tu n'interfères en rien du tout, d'ailleurs c'est moi qui débarque dans ce fil sans prévenir... :eek:

Cela dit, wilfried_42, au vu de ton post de 22h46, je pense qu'on peut voir les choses de façon plus basiques et une façon de faire simple comme ci-dessous devrait pouvoir être suffisante dans ton cas :
Code:
[SIZE=2][COLOR=NAVY]Sub[/COLOR] test()
[COLOR=NAVY]Dim[/COLOR] Message [COLOR=NAVY]As String[/COLOR], Nom [COLOR=NAVY]As String[/COLOR], Prenom [COLOR=NAVY]As String[/COLOR], Lieu [COLOR=NAVY]As String
Dim[/COLOR] Naiss [COLOR=NAVY]As Date
Dim[/COLOR] R [COLOR=NAVY]As Long[/COLOR]
    Nom = "PIERRE"
    Prenom = "Jean"
    Naiss = "10/12/46"
    Lieu = "Paris"
    
    Message = Prenom & " " & Nom & vbLf & "Né(e) le " & Naiss & " à " & Lieu
    Message = Message & vbLf & vbLf & "S'agit-il de ce patient ?"
    
    R = MsgBox(Message, vbYesNoCancel + vbQuestion, "Recherche")
    [COLOR=NAVY]Select Case[/COLOR] R
    [COLOR=NAVY]Case[/COLOR] vbYes
        [COLOR=GREEN]'Il s'agit du bon patient : recopie des renseignements[/COLOR]
        MsgBox "On recopie les renseignements"
    [COLOR=NAVY]Case[/COLOR] vbNo
        [COLOR=GREEN]'Ce n'est pas le bon patient : on continue la recherche[/COLOR]
        MsgBox "On continue la recherche"
    [COLOR=NAVY]Case[/COLOR] vbCancel
        [COLOR=GREEN]'On arrête la recherche[/COLOR]
        MsgBox "On abandonne la recherche"
    [COLOR=NAVY]End Select
End Sub[/COLOR][/SIZE]
Cordialement,
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : MsgBox vbyesno + 1 perso

resalut didier

il est vrai quant regardant comme cela, c'est un message plus clair, je mets en place de suite, mais je te promets de jeter un oeuil serieux sur ton code

merci encore et bonne nuit à tous le deux

a bientot sur le forum
 

Discussions similaires

Statistiques des forums

Discussions
312 163
Messages
2 085 861
Membres
103 006
dernier inscrit
blkevin