Changer de cellule lors de saisie d'un caractère

Fermé
ThomasMexcel Messages postés 28 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 28 mars 2018 - 22 mars 2018 à 13:31
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 - 28 mars 2018 à 18:53
Bonjour à tous,
J'ai une question simple que je n'arrive pas à résoudre :
J'aimerais pouvoir changer de cellule lorsque je saisis du texte. Exemple : Au lieu d'écrire BONJOUR en A1, j'aimerais pouvoir écrire B en A1, O en B1 N en C1 J en D1 etc...
Et cela sans avoir à appuyer sur entrée après la lettre, la transition vers la cellule doit se faire automqtiauement.
Quelqu'un aurait-il une idée ??
Merci d'avance pour votre aide,
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 mars 2018 à 14:38
Bonjour
en B1
=STXT($A1;COLONNE()-1;1)
et tirer vers la droite
1
ThomasMexcel Messages postés 28 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 28 mars 2018
23 mars 2018 à 08:45
Bonjour Michel, merci pour votre apport.
Cette suggestion pourrait fonctionner, mais je dois appuyer sur "entrée" avant d'afficher le résultat. Or j'aimerais segmenter mon texte dans plusieurs cellules dès l'instant où un caractère est saisi..
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 23 mars 2018 à 14:49
Bon, passons...

essaies cette petite macro
a partir de ta cellule activ (A1 ou B6 ou...)

Option Explicit
'-------------
Sub Ecarteler_mot()
Dim Mot As String, Nbre As Byte
Dim col As Byte, Lig As Byte, Cptr As Byte

Mot = InputBox("Mot à disperser")
Nbre = Len(Mot)
col = ActiveCell.Column - 1
Lig = ActiveCell.Row
For Cptr = 1 To Nbre
Cells(Lig, col + Cptr) = Mid(Mot, Cptr, 1)
Next
End Sub



0
ThomasMexcel Messages postés 28 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 28 mars 2018
23 mars 2018 à 14:57
Merci Michel. La macro fonctionne en effet, mais ne répond pas tout à fait à mon besoin. Je m'explique, j'ai en fait une grille de 40 caractères (mais 10 pour l'exemple suffiront). L'utilisateur doit écrire dans la grille, mais pour rendre la procédure plus agréable, je ne veux pas qu'il saisisse "B" puis "Flèche droite" puis "O" puis "Flèche droite" puis "N" puis "flèche droite" etc...
J'aimerais qu'à l'instant où il ait appuyé sur B, une macro s'enclenche comme s'il avait appuyé sur flèche droite. J'ai trouvé les instructions SendKeys mais je n'arrive pas à l'exploiter correctement.
Est-ce que ma deande est plus claire cette fois ? Encore merci pour votre aide.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 mars 2018 à 15:13
donc
j'écris "B" dans une cellule (n'importe laquelle ?) le code décale la cellule active à droite etc., c'est ça ?
0
ThomasMexcel Messages postés 28 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 28 mars 2018
23 mars 2018 à 16:02
Exactement ! A terme pas n'importe quelle cellule puisque ma "grille de saisie" est figée.
En gros j'aimerais traduire :

Dans une plage de donnée choisie
Dès qu'un caractère (lettre ou chiffre ou caractère special etc...) est saisi alors
envoi de l'instruction fleche droite pour me décaler d'une cellule vers la droite
repeter jusquà la fin de la plage
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 mars 2018 à 16:25
Qu'est ce que c'est cette histoire de grille de saisie figée et où est elle située ?

Je suis obligé à chaque proposition de tout recommencer suite à ton flou artistique... et ce n'est pas dans mes habitudes...
0
ThomasMexcel Messages postés 28 Date d'inscription jeudi 8 juin 2017 Statut Membre Dernière intervention 28 mars 2018
23 mars 2018 à 16:31
Imagine que de A1 à G1 je veux que la macro fonctionne.
Inutile d'appliquer ce mode de saisie à toute la feuille
Ma demande est simplement d'automatiser le passage à la cellule de droite sans avoir à appuyer sur fleche droite, mais dès qu'un caractère a été saisi.
0