Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Gruick
  • 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 !

Gruick

XLDnaute Accro
Bonjour Forum,

Je viens de m'apercevoir, après des années de VBA, qu'il est difficile de gérér le bouton ANNULER des inputbox, autrement que par l'ineffable instruction On Error GoGo X, ou ruser en ne mettant rien en réponse, avec if Gruick = ""
(Gruick étant la variable)

Avez-vous rencontré ce problème, et trouvé une solution plus élégante ?
(Ceci dit, ça ne m'empêchera pas de ronfler !)

Merci,

Votre dévoué Gruick
 
Re : Inputbox

Bonjour,

Quel InputBox()?

InputBox()

Pour choisir un champ et détecter Annuler, je ne connais pas d'autre méthode que On Error.

Code:
Sub xx()
On Error Resume Next
Set monchamp = Application.InputBox(prompt:="Choisissez un champ", Type:=8)
If Err = 0 Then
  For Each i In monchamp
    i.Value = UCase(i.Value)
  Next i
Else
  MsgBox "annulé"
End If
On Error GoTo 0
End Sub



jb
 
Dernière édition:
Re : Inputbox

Bonjour Jacques

C'est pour la touche finale du suivi de la Route du Rhum, choisir quelques bateaux, (et comparer leur route sur un graphique, mais ça c'est fait).
Le choix doit s'arrêter si j'appuie sur la touche "ANNUL". Voilà ce que j'ai fait, ça marche mais ce n'est pas très pro.

Code:
Sub Macro2()
' Macro2 Macro
' Macro enregistrée le 19/11/2010 par Gruick
Sheets("Comparaison").Cells.ClearContents
Sheets("Adaptation").Activate
1:
Set choix = Application.InputBox("choisissez un bateau", Type:=8)
On Error GoTo 2
Range(choix, choix.End(xlDown).Offset(0, 1)).Copy Destination:=Sheets("Comparaison").Cells(1, 256).End(xlToLeft).Offset(0, 2)
GoTo 1
2:
Sheets("Comparaison").Columns("A:A").Delete Shift:=xlToRight
Sheets("Adaptation").Columns("A:A").Copy Destination:=Sheets("Comparaison").Cells(1, 1)
End Sub

Bon, l'important c'est que ça fonctionne, mais je deviens exigeant, avec l'âge.
à rapprocher de la discussion
https://www.excel-downloads.com/threads/suivi-route-du-rhum.152817/

Gruick
 
Dernière édition:
Re : Inputbox

Bonjour Gruick 🙂,

utilise l'aide et cela t'aidera 🙂:


😉.
 
Re : Inputbox

Re,

Ooops, j'avais essayé bêtement avec VbCancel, sans succès.

Merci, je vais zieuter tout ça après manger, du poisson (désolé carcharodon-carcharias) vu que c'est vendredi, mais j'en mange tous les jours quasiment, j'adore.

Un papillon, un requin qui parlent la même langue qu'un cochon, il n'y a que sur XLD qu'on voit ça !!!😛

Merci à tous

Gruick
 
Re : Inputbox

Bonjour,

Code:
Sub Macro2()
' Macro2 Macro
' Macro enregistrée le 19/11/2010 par Gruick
Dim Choix As Range
Sheets("Comparaison").Cells.ClearContents
Sheets("Adaptation").Activate
On Error Resume Next
Do
    Set Choix = Application.InputBox("choisissez un bateau", Type:=8)
    If Not Choix Is Nothing Then
        Range(Choix, Choix.End(xlDown).Offset(0, 1)).Copy Destination:=Sheets("Comparaison").Cells(1, 256).End(xlToLeft).Offset(0, 2)
    End If
Loop While Not Choix Is Nothing
Sheets("Comparaison").Columns("A:A").Delete Shift:=xlToRight
Sheets("Adaptation").Columns("A:A").Copy Destination:=Sheets("Comparaison").Cells(1, 1)
End Sub

A+
 
Re : Inputbox

Re,

Oui, j'avais oublié Set Choix = nothing en début de boucle

Code:
Sub Macro2()
' Macro2 Macro
' Macro enregistrée le 19/11/2010 par Gruick
Dim Choix As Range
Sheets("Comparaison").Cells.ClearContents
Sheets("Adaptation").Activate
On Error Resume Next
Do
   [COLOR=red][B] Set Choix = Nothing[/B][/COLOR]
    Set Choix = Application.InputBox("choisissez un bateau", Type:=8)
    If Not Choix Is Nothing Then
        Range(Choix, Choix.End(xlDown).Offset(0, 1)).Copy Destination:=Sheets("Comparaison").Cells(1, 256).End(xlToLeft).Offset(0, 2)
    End If
Loop While Not Choix Is Nothing
Sheets("Comparaison").Columns("A:A").Delete Shift:=xlToRight
Sheets("Adaptation").Columns("A:A").Copy Destination:=Sheets("Comparaison").Cells(1, 1)
End Sub

A+
 
Re : Inputbox

Bonjour et bonne année 2011 à toutes et à tous

Confronté à un problème d'Inputbox pour ne saisir que les caractères alpha en majuscule et pouvoir utiliser la touche "Annuler" je me suis adressé à mon Forum favori.

Voila comment j'ai contourné la difficulté en initialisant l'inputbox avec un blanc. Jusqu'à présent ça marche.

J'espère ne pas faire hurler les puristes mais, si hérésie il y a, merci de me le dire.

Sub changdate()

Dim letcol As String

Do
letcol = InputBox("Entrez la lettre de la colonne à traiter en majuscule", "Lettre de colonne", " ")
If Len(letcol) = 0 Then Exit Sub
Loop While letcol = " " Or letcol < Chr(65) Or letcol > Chr(90)

End Sub

Encore bonne année à toutes et à tous

JP
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…