Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

inputbox, gérer le "cancel" sans planter

Jimrcl

XLDnaute Occasionnel
Bonjour le forum,
j'utilise un peu les inputbox mais je ne gére pas le cancel cad que quand je clic dessus il me demande de déboguer ou de mettre fin.
Quel est la petite ligne à rajouter pour qu'il me fasse sortir gentillement?
Merci beaucoup .

Voici le code:
Sub cloturer()
Dim Lignesos As Integer
Lignesos = InputBox('Entrez le numéro de SOS à clôturer', ' NUMERO ???')
Range('W' & Lignesos).Select
End Sub
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

une façon simple qui te ferme ton inputbox quelque soit l'erreur

Sub cloturer()
Dim Lignesos As Integer
On Error GoTo erreur
Lignesos = InputBox('Entrez le numéro de SOS à clôturer', ' NUMERO ???')
Range('W' & Lignesos).Select
erreur:
End Sub

Bon courage
 

Hervé

XLDnaute Barbatruc
Bonjour Jimrcl

Re pascal

Une autre méthode : déclarer lignesos en variant et tester si la valeur renvoyée est de type null.

De plus attention à la sélection possible de la ligne 0, d'ou le double teste dans le code ci-dessous :

Dim Lignesos As Variant
Lignesos = InputBox('Entrez le numéro de SOS à clôturer', ' NUMERO ???')
If Lignesos = '' Or Lignesos = 0 Then Exit Sub

Range('W' & Lignesos).Select

salut
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Allez encore une petite dans le style quand on aime on ne compte pas

Sub cloturer()
Dim Lignesos As String
Lignesos = InputBox('Entrez le numéro de SOS à clôturer', ' NUMERO ???')
If Lignesos = '' Then Exit Sub
On Error GoTo erreur
Lignesos = CInt(Lignesos)
If Lignesos = 0 Or Lignesos > 65536 Then
MsgBox 'Je vais avoir du mal à trouver cette cellule. LOL!!'
Exit Sub
End If
Range('W' & Lignesos).Select
Exit Sub
erreur:
MsgBox 'Vous devez taper un numéro de ligne !!!!'
End Sub

Bon courage
 

Hervé

XLDnaute Barbatruc
re

Ah oui pascal, j'oubliai la limite de 65536 lignes :


Pascal, je pense qu'on à fait le tour de cette question,

Salut
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour les amis

Pascal et Hervé, vous avez zappé 'Application.InputBox (méthode)' car là je ne vois que cette simple InputBox (fonction)... Et pourtant l'autre InputBox vous aurait bien simplifié la vie...

Moi je connais cette nuance grace à Ti... (comme toujours ! )

Enfin donc la Méthode InputBox permet de renvoyer différentes valeurs selon le type indiqué... Ici ce sont des Valeurs Numériques... Alors ça donne ceci :


Pour les différents Types Disponible pour cette Méthode InputBox :
Value  :  Meaning
    0      =  A formula
    1      =  A number
    2      =  Text (a string)
    4      =  A logical value (True or False)
    8      =  A cell reference, as a Range object
  16      =  An error value, such as #N/A
  64      =  An array of values

Bon Après Midi
@+Thierry
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Ouah comme tu dis Theirry je l'avais zappé celle-ci et cela m'aurait pourtant bien servi dpuis des lustres au lieu de faire des tas de tests à rallonge

Bien le merci pour cette piqure de rappel

Bonne journée B) B)
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…