userform a la place de msgbox avec if, then, else

bignou77

XLDnaute Occasionnel
Bonjour,

Je bloque sur une chose depuis 2 jours, et cela commence a m’agacer.
Je suis sur que quelqu’un d’ici pourras m’aider.

J’ai dans un code la « fonction » (je ne suis pas sur qu’il sagit d’une fonction) « if »
A savoir :

If Worksheets("Feuil").Range("A1").Value <253 then
Userform.textbox. BackColor = RGB(255, 87, 71)
If MsgBox(" Et refaire un contrôle. " & vbCrLf _
& vbCrLf, vbOKOnly + vbInformation, "ATTENTION") = vbOK Then
GoTo reinit
End If
Else
UserForm.TextBox.BackColor = RGB(212, 255, 212)
End If


Et je voudrais tous pareil sauf qu’a la place d’un message, ouvrir un userform, ce qui me permettrais d’être plus voyant.

Merci d’avance a tous.
 

ZZR09

XLDnaute Occasionnel
Re : userform a la place de msgbox avec if, then, else

Bonjour bignou77, BERRACHED Said, le forum,

Said a bien raison: sans exemple, on navigue à vue!
Voici un exemple avec ce que j'ai compris.

la macro se lance avec le bouton ou en évènementiel sur Feuil1.

je n'ai pratiquement pas changé ton code : juste nommé correctement les cibles. par contre j'ai viré le "reinit" car je ne sais pas du tout ce que tu veux en faire!

Code:
Sub macro()

If Worksheets("Feuil1").Range("A1").Value < 253 Then
UserForm1.TextBox1.BackColor = RGB(255, 87, 71)

    If MsgBox(" Et refaire un contrôle. " & vbCrLf _
        & vbCrLf, vbOKOnly + vbInformation, "ATTENTION") = vbOK Then
'        GoTo reinit
    End If
Else
    UserForm1.TextBox1.BackColor = RGB(212, 255, 212)
End If

UserForm1.Show

End Sub

dans l'attente de précisions concernant tes objectifs!

A+
 

Pièces jointes

  • textbox.xls
    30 KB · Affichages: 71
  • textbox.xls
    30 KB · Affichages: 74
  • textbox.xls
    30 KB · Affichages: 75

bignou77

XLDnaute Occasionnel
Re : userform a la place de msgbox avec if, then, else

Bonjour BERRACHED Said, ZZR09, et tous le monde.

Voici un fichier, en gros ce que je voudrais c'est a la place du msgBox, avoir un userform quand la valeur est inférieur a 253.

Merci d'avance a tous et bonne journée.

Bignou77


PS : si je ne répond pas tous de suite c'est parce que je suis a l'hôpital voir ma femme et mon BB sortie Samedi matin ;-))
 

Pièces jointes

  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    32.5 KB · Affichages: 66
  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    32.5 KB · Affichages: 69
  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    32.5 KB · Affichages: 70

ZZR09

XLDnaute Occasionnel
Re : userform a la place de msgbox avec if, then, else

re,

voici une modif de ton fichier

A+ ;)
 

Pièces jointes

  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    34.5 KB · Affichages: 68
  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    34.5 KB · Affichages: 72
  • userform-la-place-de-msgbox-avec-if-then-else-textbox.xls
    34.5 KB · Affichages: 73

BERRACHED said

XLDnaute Accro
Re : userform a la place de msgbox avec if, then, else

Salut,Bingou77

a le place de ton code copie celui la ca doit marcher :
Code:
Sub macro()

If Worksheets("Feuil1").Range("A1").Value < 253 Then
    UserForm1.Show
    Else
    If Worksheets("Feuil1").Range("a1").Value > 253 Then
    MsgBox (" Refaire un contrôle. " & vbCrLf _
        & vbCrLf)
    
End If
 End If
End Sub


Cordialement
 

YANN-56

XLDnaute Barbatruc
Re : userform a la place de msgbox avec if, then, else

Un "Bignou Breiz" te suggère:

De créer un USF (Ici Userform2) à modifier selon le cas.

Dans celui-ci copier pour supprimer la bande bleue et le bouton de fermeture.
(On veut ressembler à un msg, n'est-il pas?)

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias _
"GetWindowLongA" (ByVal BANDE_BLEUE As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal BANDE_BLEUE As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal BANDE_BLEUE As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal BANDE_BLEUE As Long, ByVal wMsg As Long, ByVal wParam As Long _
, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Dim BANDE_BLEUE As Long, Style As Long

Private Sub CommandButton1_Click()
Unload UserForm2
End Sub


Private Sub UserForm_Initialize()
BANDE_BLEUE = FindWindow(vbNullString, Me.Caption)
Style = GetWindowLong(BANDE_BLEUE, -16) And Not &HC00000
SetWindowLong BANDE_BLEUE, -16, Style
DrawMenuBar BANDE_BLEUE

UserForm2.Height = Application.Height
UserForm2.Width = Application.Width

UserForm2.BackColor = &H808000
UserForm2.Label1.Caption = Worksheets("Feuil1").Cells(1, 1).Value
End Sub


Par la suite donner l'ordre de l'ouvrir par un évènement quelconque:
UserForm2.Show vbModeless
(vbModeless te concervera la feuille accessible)

Ton nouvel USF doit contenir au label1 et un bouton1.
son "Click est défini ci-avant.
Dans cet Usf tu mets ce que tu veux...........

Tu M'diras....

Bon courage et fin de journée.

Yann
 

bignou77

XLDnaute Occasionnel
Re : userform a la place de msgbox avec if, then, else

Woua !!

Un super merci a tous, un peu plus a BERRACHED said, car c'est ta solution que je vais prendre (je chercher plus compliquer, comme souvent).
Mais merci également a ZZR09 et YANN-56 (même si je t'avoue que j'ai pas tous compris)

une fois de plus le forum est a la hauteur et même au delà.
Vraiment merci a tous et a bientôt peut être.
Bignou77
 

Statistiques des forums

Discussions
312 500
Messages
2 089 013
Membres
104 004
dernier inscrit
mista