Saisi du texte en VBA dans celulle

bonjour,

je voudrais, quelques soit l'endroit de la feuille qui est active, lorsque je clique dessus que l'userform s'ouvre et qu'une fois le texte saisi dans l'userform (petit bouton pour annuler vider la boite du texte) et quand je saisi qu'il place le texte en C2 et que si je recommence la manip en C3 et ainsi de suite.

PJ

Merci d'avance,

Francky

16saisi-teste.xlsm (14.53 Ko)

Bonsoir Franky,

voir fichier joint.

Je ne suis pas passer par une userform mais un inputbox.

J'ai juste un petit détail que je n'arrive pas à résoudre, je dois cliquer 2 fois

sur OK pour inscrire le texte dans la cellule.

Si le forum peut m'expliquer ou est mon erreur.....

16saisi-texte.xlsm (16.64 Ko)

Bonsoir

@patrick33

Si tu dois valider 2 fois c'est que tu utilises Select

Avec ton code si tu cliques sur la 1ère cellule vide ( a partir de la ligne 2) colonne C, il y aura une demande et une seule car la cellule ne bougera pas

Maintenant cliques en dehors de la colonne C ou dans la colonne C dans une ligne déjà écrite

Tu auras 1 demande car l'évènement à été appelé, mais dans ce code tu vas sélectionner la 1ère cellule vide de la colonne C, donc l'évènement sera rappelé : Un nouvelle demande

Essayes ce code

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim saise As String

  If Target.Count = 1 Then
    saisie = InputBox("Texte ?", "Saisie")
    If saisie <> "" Then
      Range("C65536").End(xlUp)(2) = saisie
    End If
  End If
End Sub

super, ça marche très bien. Mais ce n'est pas possible dans l'userform ?

Francky

14saisi-texte.xlsm (18.21 Ko)

Bonjour

A voir

Merci Banzai pour l'explication.

Très clair.

Bonjour et merci Banzaï,

impécable, j'ai modifié les propriétés du Textbox1 pour que lorsqu'on saisi le texte dans l'userform il continu à la ligne automatiquement.

Parcontre, je n'ai pas trouvé ou su comprendre ou était la propriété pour lorsque je tape "entrer" sur le clavier qu'il aille aussi à la ligne...

merci Francky

Bonjour

C'est la propriété EnterKeyBehavior qu'il faut mettre à True

Un conseil : Afin d'éviter d'avoir des caractères spéciaux dans ta cellule remplaces la partie du code par celle-ci

Range("C" & Rows.Count).End(xlUp).Offset(1, 0) = Replace(Me.TextBox1, vbCr, "")

Merci Banzaï, ça m'a l'air de marcher très bien.

Encore merci.

Francky

Rechercher des sujets similaires à "saisi texte vba celulle"