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 titetou
  • 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 !

T

titetou

Guest
Bonjour à tous, je suis nouvelle ici, et aussi en programation VBA. J'ai créer un formulaire à remplir. Dans le formulaire, case O11 (inscription actuel NIV) j'aimerais avoir un InputBox ou un bouton de formulaire (je ne suis pas certaine lequel prendre) dans lequel je pourrais inscrire un numéro voulu (17 carractères, chiffres ou lettres) qui se retranscrirait dans les cases R11 à AH11 tout en majuscule. Le but est d'éviter de faire une tabulation à chaque carractère saisie aux cases R11 à AH11. J'ai fais plusieurs recherche mais en vain. Y aurait-il quelqu'un qui pourrait m'aider à créer mon InputBox. J'espère que ma demande est compréhensible. Je vous remercie tous à l'avance et vous souhaite une belle fin de journée
 

Pièces jointes

Re : InputBox

Bonsoir titetou, bienvenue sur XLD,

Sur une plage aussi petite c'est très facile.

Mettez dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
For Each Target In [R11:AH11]
  If Target.Text <> UCase(Target.Text) Then _
    Target = UCase(Target.Text) 'majuscule
Next
End Sub
Fichier joint.

Edit : Target.Text en cas de valeur d'erreur.

A+
 

Pièces jointes

Dernière édition:
Re : InputBox

Bonsoir Titetou et bienvenue, bonsoir Job, bonsoir le forum,

Ton fichier modifié avec un CommandButon et une UserForm. Un clic sur le bouton NIV (ou le raccourci clavier [Alt]+[N]) pour lancer l'UserForm NIV. Les propriétés AutoTab = True et MaxLength = 1 font que le curseur passe automatiquement à la textbox suivante. La propriété Default = True du Commandbutton1 (OK) fait que la touche [Entrée] permet de valider.

Le code :
Code:
Private Sub CommandButton1_Click()
For x = 1 To 17 'boucle sur les 17 textboxes
    If Me.Controls("TextBox" & x).Value = "" Then 'condition : si la textbox n'est pas renseignée
        MsgBox "Vous devez éditer cette case !" 'message
        Me.Controls("Textbox" & x).SetFocus 'place le curseur dans la textbox
        Exit Sub 'sort de la procédure
    Else 'sinon
        Sheets("Feuil1").Cells(11, 17 + x).Value = UCase(Me.Controls("TextBox" & x).Value) 'place la valeur en majuscule dans la cellule
    End If 'fin de la condition
Next x 'prochaine textbox de la boucle
Unload Me 'vide et ferme l'Userform
End Sub
Le fichier :
 

Pièces jointes

Re : InputBox

Bonjour titetou, Robert, le forum,

Une solution avec un Label et une TextBox (contrôles ActiveX).

La macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Label1_Click()
Dim plage As Range, i As Byte
Set plage = [R11:AH11]
If TextBox1.Visible Then
  For i = 1 To plage.Count
    plage(i) = UCase(Mid(TextBox1, i, 1))
  Next
  TextBox1.Visible = False
Else
  plage.ClearContents
  TextBox1 = ""
  TextBox1.Visible = True
  TextBox1.Activate
End If
End Sub
Fichier (2).

A+
 

Pièces jointes

Re : InputBox

Re

Eh, robert 🙂.

Mais c'est pas la première fois qu'on a plusieurs solutions pour un problème 😉. En plus, cela fait progresser qui, devine 😱.

Et, c'est pas la dernière fois qu'on n'a pas de réponses, moi, je dirai 25 % 🙁. Mais attendons quand même, au moins, 1 semaine.
 
Re : InputBox

Bonjour à tous, vous êtes vraiment très gentil. J'ai fais des test tentot, avec la première solution de Robert (merci), je ne sais pas pourquoi mais je n'y arrive pas. J'ai inserer un bouton formulaire, mais je n'arrive pas à associé le bouton et la commande. Je crois que je suis très débutante dans ce domaine.
 
Re : InputBox

Bon, j'ai fais le tour des solutions, j'aime bien la version à Job75 avec un Label. Je n'ai pas trouvé comment transformer mes cases NIV en Label, mais je vais y travailler. Y parrait qui faut essayer pour réussir 🙂
Je ne pensais pas avoir autant de réponse, et SURTOUT aussi vite. Je dois quitter pour la journée, mais je vais essayer de revenir demain. Encore un GROS merci à tous, c'est vraiment très apprécié, vous avez l'air d'une belle gang. Je vous souhaite une belle journée

Salutation Katy 🙂
 
Re : InputBox

Bonjour titetou, salut Michel,

Je n'ai pas trouvé comment transformer mes cases NIV en Label, mais je vais y travailler.

Bien comprendre qu'il y a 2 objets dans la feuille :

- au post #5 un Label (sur NIV) et une TextBox (sur la plage R11:AH11)

- au post #6 un Rectangle et une TextBox (je préfère cette solution).

Le Label et le Rectangle sont transparents, ils déclenchent tous deux la macro.

Pour vous aider à créer les 2 objets, dites-nous quelle est votre version Excel.

A+
 
Re : InputBox

Re titetou,

J'ai Excel 2010 mais sauf erreur, sous Excel 2007 :

1) Afficher l'onglet Développeur :

Appuyez sur le bouton Office
Appuyez sur le bouton Options Excel (en bas à droite).
Dans le menu Standard, sélectionnez la 3e case à cocher: Afficher l'onglet Développeur dans le ruban.

2) Dans cet onglet menu Insérer, vous avez 2 types de contrôles :

Contrôles de formulaires
Contrôles ActiveX => vous trouvez le Label et la TextBox à mettre dans la feuille (post #5).

Pour le Rectangle (post #6) il y a je crois une commande ailleurs pour insérer des formes.

3) Dans la feuille, clic droit sur l'objet pour modifier ses propriétés ou créer son code.

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…