Msgbox ou InputBox ou Userform ?

Calvus

XLDnaute Barbatruc
Bonjour,

Je ne trouve pas de solution à ma question, à part peut être essayer la création d'un userform.

Manifestement, la Msgbox ne permet que VbYes, ou VbNo.

J'aimerais, dans un code existant, pouvoir ajouter une Msgbox à laquelle on répondrait par 1 ou 2 par exemple (ou "Rouge ou vert"). La réponse irait vers un If :

Donc un truc du genre :
If VbRouge Then Goto...

Else...

Est ce possible ?

Merci
 

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonjour,

Bon, avec un fichier ce sera plus facile.

Le début du code est exactement celui de mon fichier original, j'ai donc tout laissé pour ne pas modifier quoi que ce soit.
J'ai seulement désactivé ici en mettant une apostrophe, et changé les noms des répertoires de destination et des classeurs.

J'ai isolé visuellement la nouvelle partie du code qui ne fonctionne donc pas.
Je n'ai pas mis de code dans l'userform de cet exemple.
C'est la partie bornée par ### que j'aimerais remplacer.

VB:
'Import
Private Sub CommandButton1_Click()
Dim Tablo, Tablo2, Tablo3, Tablo4, Tablo5
Dim onglet, classeur, classeurOp As String

Application.ScreenUpdating = False
'On Error GoTo fin
'If [J28] = "" Or [L28] = "" Then
'MsgBox ("Veuillez renseigner le client ou la date")
'Exit Sub
'End If
'onglet = [L28]



'Voici la nouvelle partie-------------------------------
UserForm1.Show
If UserForm1.CommandButton1.Value = True Then
MsgBox ("ouais !")
End If
'Fin de la nouvelle partie--------------------------


'###
If MsgBox("BL ou Temporaire", vbYesNo) = vbYes Then
classeur = ("CLASSEUR.xlsx")
classeurOp = ("C:\Users\XXXX\Documents\XXXXXXX\CLASSEUR.xlsx")
Else
classeur = ("CLASSEUR.xlsx")
classeurOp = ("C:\Users\XXXX\Documents\XXXXXXX\CLASSEUR.xlsx")
End If
'###

On Error Resume Next
    Workbooks(classeur).Activate
    If Err.Number <> 0 Then
    Workbooks.Open Filename:=classeurOp
    End If
    
End Sub

Merci
 

Pièces jointes

  • Exemple Appel Userform.xlsm
    19.4 KB · Affichages: 45

David

XLDnaute Occasionnel
Re : Msgbox ou InputBox ou Userform ?

Je ne comprend pas, tu veux une message box?
Tu as demandé que l'on mette un choix (1 ou 2 , rouge ou vert) et la macro s’exécute.

Tu créé ton userform, tu mets une text box et un command button, dans ton command button tu mets ce que je t'ai donné comme exemple, c'est tout bête.

@+

[edit] Désolé, je n'ai pas vu ton dernier message. Faut juste adapter.

Les chemins en dur c'est pas terrible, perso je fais des fenêtres d'invite d'ouverture de fichier et tu indique le fichier à traiter. regarde vers GetOpenFilename (marche pas sous Mac).
 

Pièces jointes

  • test_commad.xls
    33.5 KB · Affichages: 37
  • test_commad.xls
    33.5 KB · Affichages: 39
Dernière édition:

David

XLDnaute Occasionnel
Re : Msgbox ou InputBox ou Userform ?

Les chemins en dur c'est pas terrible, si le fichier bouge ou est renommé c'est mort, utilise plutôt un truc comme GetOpenFilename (marche pas sous mac, pas comme ça en tous les cas).

Voir fichier, test pour ouverture fichier csv.
 

Pièces jointes

  • test_commad.xls
    43 KB · Affichages: 41
  • test_commad.xls
    43 KB · Affichages: 45

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonjour,
Je ne comprend pas, tu veux une message box?
Tu as demandé que l'on mette un choix (1 ou 2 , rouge ou vert) et la macro s’exécute.

Non, le rouge ou vert c'est une proposition de Lonewolf.

Ta solution par textbox est bien en effet, j'avais regardé ça hier, mais je veux éviter que l'utilisateur tape quelque chose. C'est pour ça que le choix du bouton me convenait. Au pire je garderai la solution de la message box. C'est c'est pour cette raison que j'en ai mis une)

Idem pour l'ouverture par invitation. Car il y a 8 classeurs différents concernés, et le risque d'erreur est trop grand.

Question toute bête alors ? Ne peut on pas tout simplement changer le texte Oui / Non de la message box ? Je réalise que là serait la solution. Ce doit être faisable j'imagine. J'espère en tout cas.
Je vais chercher de ce coté là.

Merci et bonne journée.
 

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re,

C'est la solution apportée par Lonewolf en #10 qui convient.

Lonewolf (ou quelqu'un d'autre :)), peux tu m'aider à adapter ce code ? Je n'ai pas creusé de ce coté hier parce que je n'y ai pas pigé un beignet !

Merci
 

Si...

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

re

Comme suggéré plus haut, une dernière proposition en évitant bien des lignes de code donc de prises de tête.

Nota :
- pour ma part, je préfére regrouper les procédures relatives à un formulaire dans la page de code de celui-ci
- la recherche du fichier à ouvrir peut se faire sans trop de souci à partir de la boîte de dialogue concue pour
 

Pièces jointes

  • Usf Options.xlsm
    20.2 KB · Affichages: 27

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re Calvus,

je ne veux pas toucher à ton code au risque de faire eine große bêtisen. ;)


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim MonMessage As String
Dim Rep As Byte
         
       '***ICI TU NE TOUCHE À RIEN ENFIN PRESQUE ;-)

 MonMessage = "                      OUI JE VEUX !" & vbLf & vbLf & "             NON JE VEUX PAS !"
 Rep = MsgBoxPerso(MonMessage, "XLD.COM", , "OUI", "NON")
    
'METTRE LA CONDITION : SI VERRE EST À MOITIÉ PLEIN ALORS
    Select Case Rep
    Case 1  'CORRESPOND OU BOUTON OUI
        'ICI LE BOUT DE CODE SI CLIQUE SUR = "OUI"
        
        'SORT LA BOUTEILLE MON VIEUX !!
       '
       '
       '
       '------------------------------------------------------------
        'SINON
    Case 2   'CORRESPOND OU BOUTON NON
        'ICI LE BOUT DE CODE SI CLIQUE SUR = "NON"
        
       'UN AUTRE S'IL TE PLAÎT !!
    End Select
    'FIN
    Cancel = True
End Sub

ça joue comme ça?



A+ :cool:
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Hello :)

Hé ho ! Je bosse moi ! Pas le temps d'être tout le temps collé à mon PC. Déjà que j'y passe beaucoup trop de temps..

Pour boire, avec plaisir, mais j'attends ton invitation ! :D :D

Ton code, impec ! J'ai vite fait le test sur mon fichier exemple, je vais maintenant, (ou ce soir...) tester sur mon fichier.

Il fallait donc simplement copier tout le code du module dans le nouveau fichier, sans rien changer.... Cool.

Le code de Si est très bien ausSi ! Très court. Il est trop fort celui-là !

J'me garde les deux !

MerSi et à bientôt :)

PS : Je suis surpris, 00 n'a pas encore pointé le bout de son nez, ou plutôt de son museau...;) On l'invitera aussi, dac ? ;)
 

Lone-wolf

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Re Calvus

j'attends ton invitation !

Venir en Suisse pour boire 1 verre???. Trêve de plaisenterie, je le ferais avec plasir, malheureusement celà fait 15 ans que je ne bois plus (juste pour rire en rapport - En Gras): sauf quand je conduit ;) .


@Si... : Toute mes felicitations pour avoir atteint les 2 Tera. :D
Je ne l'ai pas remarqué tout de suite :eek:


A+ :cool:
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Msgbox ou InputBox ou Userform ?

Bonjour à toutes et à tous,

... Le code de Si est très bien ausSi ! Très court. Il est trop fort celui-là !...

Lu et approuvé !

... Je suis surpris, 00 n'a pas encore pointé le bout de son nez, ou plutôt de son museau...

Le voilà :

attachment.php



A bientôt :D:D
 

Pièces jointes

  • ... Le voilà !.gif
    ... Le voilà !.gif
    17.4 KB · Affichages: 53

Discussions similaires

Réponses
8
Affichages
473

Statistiques des forums

Discussions
312 111
Messages
2 085 391
Membres
102 882
dernier inscrit
Sultan94