Saisie automatique

Bonjour

sauriez vous s'il est possible d'avoir une saisie automatique en une feuille 1 colonne A par exemple , à partir d'une Liste base de donnée sur une autre feuille. Les menu déroulants c'est pas mal mais quand la liste est importante ça deviens assez fastidieux. Et si c'est possible sera t"il toujours possible de lier des données correspondantes avec la receherche V ?

Cordialement

Bonjour,

Avec Excel ... il existe toujours un moyen de s'en sortir ...

Cela dit ... sans un fichier illustratif (taille réduite) ... difficile de t'aider concrètement ...

Ok j'en fait un

Re

En feuille1 colonne A si je commence à écrire un article qui se trouverai dans la feuille Données colonne A (ou autre) je souhaitais avoir un automatisme qui me proposerai la sélection qui correspondante

Par exemple si je commençais à écrire "gants" serait t'il faisable d'avoir sous forme de choix tous les articles "gants" ?

Ensuite une fois le choix fait et validé, que les informations qui sont liées soient importées.

Merci

15testsaisieauto.xls (15.50 Ko)

Salut Thomer,

Salut James,

une solution que j'adore utiliser, à base d'une TextBox épaulée dans ton cas par une ListBox.

Tu cliques en [A1] et tu saisis dans la TextBox.

ATTENTION : cette "version" recherche stricto sensu ce que tu tapes au clavier (gaffe aux majuscules!).

  • la valeur dans la TextBox est celle que tu cherches => ENTER ;
  • la valeur que tu cherches est dans la ListBox, clique dessus.

Plus simple, tu meurs...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Target.Count > 1 Then Exit Sub
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
Range("A2:E2").ClearContents
'
Me.txtTEXTE.Visible = False
Me.lstBox.Visible = False
'
If Not Intersect(Target, Range("A1")) Is Nothing Then
    ActiveSheet.txtTEXTE.Activate
    Me.txtTEXTE.Top = Target.Top + 1
    Me.txtTEXTE.Left = Target.Left + 1
    Me.txtTEXTE.Height = Target.Height - 1
    Me.txtTEXTE.Width = Target.Width - 1
    Me.txtTEXTE.Text = IIf(Target = "", "", Target)
    Me.txtTEXTE.SelStart = 0
    Me.txtTEXTE.SelLength = Len(Me.txtTEXTE.Text)
    Me.txtTEXTE.Visible = True
End If
'
Application.EnableEvents = True
Application.ScreenUpdating = True
'
End Sub

A+

14testsaisieauto.zip (23.62 Ko)

Bonjour et merci de ton attention

C'est quasi ça, sauf que je souhaiterai que les résultat s’incrémentent de ligne en ligne de façon à fabriquer un bon de commande . A moins que ce ne soit chez moi, les résultats apparaissent en ligne 2 puis disparaissent aussitôt des que je tape sur "entrée".

Merci encore

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'

If Target.Count > 1 Then Exit Sub

'

Application.EnableEvents = False

Application.ScreenUpdating = False

'

Range("A2:E2").ClearContents

'

Me.txtTEXTE.Visible = False

Me.lstBox.Visible = False

'

If Not Intersect(Target, Range("A1")) Is Nothing Then

ActiveSheet.txtTEXTE.Activate

Me.txtTEXTE.Top = Target.Top + 1

Me.txtTEXTE.Left = Target.Left + 1

Me.txtTEXTE.Height = Target.Height - 1

Me.txtTEXTE.Width = Target.Width - 1

Me.txtTEXTE.Text = IIf(Target = "", "", Target)

Me.txtTEXTE.SelStart = 0

Me.txtTEXTE.SelLength = Len(Me.txtTEXTE.Text)

Me.txtTEXTE.Visible = True

End If

'

Application.EnableEvents = True

Application.ScreenUpdating = True

'

End Sub

Ok super, je ferai cela lundi matin sur le fichier d'origine. Je vous remercie de votre attention et de votre aide.

Je reviens vers vous pour faire un retour et clore le post lundi.

Cdt

Bonjour à tous,

Très sympa la solution proposée par ceuzin ...

Salut Thomer,

Salut l'équipe,

une version plus élaborée.

Un double-clic en dehors de la colonne [A:A] efface la colonne [A:A] pour une nouvelle commande.

Un clic n'importe où en [A:A] sélectionne la première ligne vide sous la colonne.

A+

11testsaisieauto.zip (22.69 Ko)

Bonjour

Bon, je butte sur l’intégration du code sur mon fichier, je pense que je dois mal modifier les variables. Je vais essayer quand même quelques heures encore de comprendre avant de vous solliciter de nouveau avec cette fois-ci le fichier complet et initial.

Bonne journée

... je butte sur l’intégration du code sur mon fichier...

Bonjour,

Tu ne précises pas de quel code tu t'inspires ...

ET

tu ne joins pas ton fichier ...

Dur ...dur .. de t'aider ...

Milles excuses, je souhaite passer un peu de temps à essayer de comprendre et c’était juste pour dire que je ne fermais pas le post.

Concernant mon fichier ,je vais sans doute changer mon fusil d’épaule et le présenter autrement en utilisant des listes en cascade.

Sauf que je galère un peu aussi, étant un tantinet obstiné j'aimerai bien trouver. Je reviendrai vers vous (penaud) si ce n'est pas le cas.

Merci,

Souhaitez vous que je ferme ce fil ?

Non ...

Tu n'as pas besoin de fermer le sujet ...

Par contre, en cas d'obstacle ... il ne faut pas hésiter à revenir sur le Forum ...

Bonjour

Bon, je comprends pas, sur la feuille " bon de commande" un menu déroulant "lots" . En feuil1 les lots avec en dessous les différentes désignations.

Sur la Feuille Bon de commande de c6 à c36 je souhaiterai avoir le menu déroulant se référent à chaque lot. J'ai donc intégré en c6 la formule

=INDIRECT(c4)

Le menu déroulant reste désespérément vide.

5menuderoulant.xlsx (29.43 Ko)

Re,

Ci-joint ton fichier nettoyé et corrigé ...

Avec les deux touches Ctrl F3 ... tu peux accéder au gestionnaire de noms ...

11menuderoulant.xlsx (26.76 Ko)

Merci du nettoyage et du reste

Bonne fin de journée.

Zut c'etait l'espace ?

Zut c'etait l'espace ?

Merci pour tes remerciements ...

Non ... ce n'était pas un problème d'espace ...

Si tu analyses bien le tout ...

tu verras qu'il faut un tout petit peu de discipline dans la gestion des noms des plages ...

Ok merci encore.

Rechercher des sujets similaires à "saisie automatique"