• Initiateur de la discussion Initiateur de la discussion LaurentG
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LaurentG

XLDnaute Occasionnel
Bonjour,

Est-il possible de faire appel à une sorte de inputbox, mais au lieu d'avoir un champ pour écrire, on a un champ 'Refedit' (pour sélectionner une cellule dans la feuille)? Et donc ne pas passer par la création d'un USF.

merci

Laurent
 
Re : inputbox

Salut Laurentg, Jeannot45

En fait il existe dans VBA deux commandes inputbox, la méthode et la fonction (ne me demandez pas pourquoi).
la fonction, au contraire de la méthode, ne permet pas de préciser le type de données et le retour est obligatoirement de type string
Les débutants font souvent l'erreur d'appeler la fonction à la place de la méthode
l'appel de la fonction:
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
qui donne
MyValue = InputBox(Message, Title, Default)
l'appel de la méthode:
expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
qui donne
Set myCell = Application.InputBox( prompt:="Select a cell", Type:=8)
ou
MyValue = Application.InputBox( prompt:="Enter a number", Type:=1)

Cordialement, A+
 
Re : inputbox

bonjour tout le monde

Je profite de ce post pour poser une petite question.

Comment gérer vous l'appui sur annuler dans le cas de la méthode ?

perso, je passe par des on error :

Dim plage As Range

On Error Resume Next
Set plage = Application.InputBox("laquelle ?", Type:=8)
MsgBox plage.Address
On Error GoTo 0

auriez vous une autre syntaxe pour eviter les on error ?

salut
 
Re : inputbox

Salut le forum,

Hervé pour ma part je préfere gérer la gestion d'erreur :

Code:
Sub Essai()
 
Dim PlageSource As Range
Dim Msg
 
On Error GoTo Erreur
 
'Permet de sélectionner une plage avec la souris (Méthode InputBox)
    Set PlageSource = Application.InputBox _
        ("Sélectionnez la ou les cellule(s) à copier !", "Plage source", Type:=8)
 
'..... le code
 
Exit Sub
 
Erreur:
If err.Number = 424 Then
    MsgBox "You press Cancel, this procedure will now terminate."
Else
    Msg = "L'erreur # " & Str(err.Number) & " a été générée par " & _
        err.Source & Chr(13) & err.Description
    MsgBox Msg, , "Erreur", err.HelpFile, err.HelpContext
End If
 
End Sub

Mytå
 
Re : inputbox

Bonjour

autre possibilité mais toujours par on error

Code:
On Error Resume Next
 
'Permet de sélectionner une plage avec la souris (Méthode InputBox)
    Set PlageSource = Application.InputBox _
        ("Sélectionnez la ou les cellule(s) à copier !", "Plage source", Type:=8)


If PlageSource Is Nothing Then MsgBox "rien"
Mais bon c'est moins pro que ce que propose Myta

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
242
  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
380
  • Question Question
Microsoft 365 Lecture vocale USF
Réponses
5
Affichages
286
Réponses
2
Affichages
240
Réponses
19
Affichages
650
Retour