Problème avec inputbox

Résolu
bibizone Messages postés 12 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 10 mai 2007 - 2 mai 2007 à 09:10
cs_princesse88 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 mai 2008 - 14 mai 2008 à 01:42
J'ai un problème avec mon inputbox

Quand je pose ma question et que je rempli ma case dans inputbox cela marche, mais si je fais ok ou annuler sans avoir rentrer de valeur dans ma question cela bloque tout
En faites je voudrai que si je fais annuler ou ok sans avoir taper de valeur qu'un msgbox apparaisse et que en suite je puisse retourner à mon application voici mon programme de recherche :

Aidez moi

Sub montage()


Dim n As Integer
Dim N° As String
Dim Désignation  As String
Dim emplacement As String
Dim cellule As String
Dim types As String
Dim Référence As String
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String


Désignation = Sheets("10XXXX").Cells(2, "G")
types = Sheets("10XXXX").Cells(2, "H")
Référence = Sheets("10XXXX").Cells(2, "I")
emplacement = Sheets("10XXXX").Cells(2, "J")
cellule = Sheets("10XXXX").Cells(2, "K")
a = Sheets("10XXXX").Cells(4, "N")
b = Sheets("10XXXX").Cells(5, "N")
c = Sheets("10XXXX").Cells(6, "N")
d = Sheets("10XXXX").Cells(7, "N")
e = Sheets("10XXXX").Cells(8, "N")


N° = InputBox("entrez le n° de montage")


For n = 3 To 10000
  
 If  N° = Sheets("10XXXX").Cells(n, "B") Then
 
 a = Sheets("10XXXX").Cells(n, "G")
 b = Sheets("10XXXX").Cells(n, "J")
 c = Sheets("10XXXX").Cells(n, "K")
 d = Sheets("10XXXX").Cells(n, "H")
 e = Sheets("10XXXX").Cells(n, "I")
 


 Sheets("recherche").Cells(17, "D") = a
 Sheets("recherche").Cells(19, "D") = d
 Sheets("recherche").Cells(21, "D") = e
 Sheets("recherche").Cells(23, "D") = b
 Sheets("recherche").Cells(26, "D") = c
 Sheets("recherche").Cells(13, "D") = N°
 
 Sheets("recherche").Activate
  
 End If
 
Next
End Sub

12 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 mai 2007 à 09:15
Salut,
Il te suffit de tester la valeur de N° avant de commencer ta boucle non?
Du style
N° = InputBox("entrez le n° de montage")
'Si rien n'a été entrer alors on sort de la procédureIf N° vbNullString Then Call MsgBox("RIEN N A ETE ENTRER> SORTIE DE LA SUB"): Exit Sub
For n = 3 To 10000
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
2 mai 2007 à 09:16
Salut,

If  N° = "" Then
    msgbox "message vide"
 
elseif  N° = Sheets("10XXXX").Cells(n, "B") Then
 
 a = Sheets("10XXXX").Cells(n, "G")
 b = Sheets("10XXXX").Cells(n, "J")
 c = Sheets("10XXXX").Cells(n, "K")
 d = Sheets("10XXXX").Cells(n, "H")
 e = Sheets("10XXXX").Cells(n, "I")
 
 Sheets("recherche").Cells(17, "D") = a
 Sheets("recherche").Cells(19, "D") = d
 Sheets("recherche").Cells(21, "D") = e
 Sheets("recherche").Cells(23, "D") = b
 Sheets("recherche").Cells(26, "D") = c
 Sheets("recherche").Cells(13, "D") = N°
 
 Sheets("recherche").Activate
  
 End If
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 mai 2007 à 09:16
testes simplement ta variable...

N° = InputBox("entrez le n° de montage")

If N° = "" Then
    MsgBox "ERREUR"
    Exit Sub
End If

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
2 mai 2007 à 09:18
Oui en effet, j'avais pas vu la boucle for, vaut mieux faire le test avant pour eviter de faire la boucle 10000 fois DSL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bibizone Messages postés 12 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 10 mai 2007
2 mai 2007 à 09:30
Pensez: Réponse acceptée
Merci J.rivet
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 mai 2007 à 09:37
Re,
Si tu estimes que ton problème est résolu pense à appuyer sur le bouton réponse acceptée sur le ou les posts qui ont pu t'aider
(voila ce que veux dire ma signature en plus long)

@+: Ju£i?n
Pensez: Réponse acceptée
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mai 2007 à 09:38
Bonjour,

J'en profiterais pour contrôler la cohérence  de la saisie


Private Sub Command1_Click()
  No = "a"
  While (Not IsNumeric(No) And No <> "")
    No = InputBox("entrez le n° de montage", "ton titre")
  Wend
  If No = "" Then MsgBox "pas saisi et j'abandonne": Exit Sub
  MsgBox "saisi et je continue"
  'suite de tes instructions
End Sub


 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
2 mai 2007 à 11:37
Salut et bonjour à tous,

Il a pas bien compris Jrivet ce que tu voulais dire je pense....

A+
Exploreur

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mai 2007 à 11:47
C'est la formulation elle-même qui semble troubler certains !
J'en ai repéré quelques-un qui, manifestement, avaient compris qu'en cliquant la-dessus, celà voulait dire qu'on acceptait des réponses (qu'elle étaient bienvenues, donc)...
J'en ai même repéré un qui avait ainsi cliqué "Réponse acceptée" dès la rédaction de sa question (avant même toute réponse).

Remplacer peut-être par "la présente réponse me convient" ou (si trop long) "la présente réponse me va"
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 mai 2007 à 11:49
ou encore "Réponse adéquate" (plus court)
0
cs_princesse88 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 mai 2008
14 mai 2008 à 01:16
j essaye  de rechercher par nom des salarié (par exp) en utilisant un inputbox et d afficher mon resultat dans des zones de textes
j utilise le vb.net com langage et sql server com bd
voici mon code mé ca marche pa:

Private
Sub parNomDeToolStripMenuItem_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles ParNomToolStripMenuItem.Click

Dim commande
As
New SqlCommand

Dim reche

TryDataGridView1.DataSource = DBNull.Value

 

reche = InputBox(

"Entrez le nom que vous voulez rechercher",
"Recherche")commande.CommandText =

"select * from salari‚ where nom_sal like '" & reche & "' "da New SqlClient.SqlDataAdapter(commande)ds

New DataSetda.Fill(ds, commande.CommandText)

DataGridView1.DataSource = ds.Tables(commande.CommandText)

DataGridView1.RefreshEdit()

Me.mat.Text = dt.Rows(rownumber).Item(
"matricule").ToString

Me.nom.Text = dt.Rows(rownumber).Item(
"nom_sal").ToString

Me.prenom.Text = dt.Rows(rownumber).Item(
"prenom_sal").ToString

Me.adresse.Text = dt.Rows(rownumber).Item(
"adr_sal").ToString

Me.ville.Text = dt.Rows(rownumber).Item(
"ville_sal").ToString

Me.nombre.Text = dt.Rows(rownumber).Item(
"nb_enf").ToString

Me.telephone.Text = dt.Rows(rownumber).Item(
"tel_sal").ToString

Me.datenaissance.Text = dt.Rows(rownumber).Item(
"Date_naissance").ToString

Me.situation.Text = dt.Rows(rownumber).Item(
"situation_famil").ToString

Catch ex
As ExceptionDataGridView1.DataSource = dt

End
Try(aidez moi svp cé urgent)

 

 

 
0
cs_princesse88 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 14 mai 2008
14 mai 2008 à 01:42
bjr
j ai un formulaire ki permet de changer le mot de passe mé mon code ne marche pa
j travaill avec vb.net et sql server
voici mon code :
If ancien.Text = "" Then
ancien.Focus()
End If
If nouvo.Text = "" Then
nouvo.Focus()
End If
dr = ds.Tables("karima").Rows(Int(rownumber)) If (Me.nouvo.Text Me.confirm.Text) And dr("mot_passe").ToString Me.ancien.Text Then

dr("mot_passe") = Me.nouvo.Text

combuilder = New SqlCommandBuilder(da)
da.Update(ds, "karima")
ds.Clear()
da.Fill(ds, "karima")
dt = ds.Tables("karima")
MsgBox("mot de passe modifié", MsgBoxStyle.Information)
Me.Hide()
authentif.Show
Else

MsgBox("non valide", MsgBoxStyle.Information)

End If
0
Rejoignez-nous