Saisie a la volée

Bonjour a tous,

j'ai besoin de saisir des longueurs dans un fichier excel. Le problème c'est que j'ai une 50N de longueurs a saisir et celles ci sont dans le désordre.

ex : 21/25/27/29/36/47/75/21/27/29/46....

en ce moment je saisie les valeurs directement dans le tableau, en fait il y a une colonne avec toutes les longueurs et moi je renseigne la quantité dans une 2eme colonne.

je voulais savoir s'il n'y avait pas moyen de saisir ces valeurs "a la volée"? j'entends par la une case en haut de la colonne des quantités dans laquelle je tape ma longueur et en appuyant sur entrée cela ajoute automatiquement une unité a ma longueur associé. j’espère avoir été assez clair. il existe peut être en sujet sur cette fonction mais comme je manque de vocabulaire technique je n'ai rien trouvé.

merci d'avance

COrdialement

Bonjour

Tu peux joindre un fichier exemple ?

Amicalement

Nad

voila un fichier exemple

Pour l'instant je dois faire un 1er tri en version papier afin de saisir les effectifs mesurés en fonction des longueurs correspondantes... mais je suis sur qu'il existe une fonction qui me permettrait de ne pas passer par cette étape et donc de gagner du temps.

merci d'avance pour votre aide

a plume

9exemple.zip (8.42 Ko)

Re

Un tableau vierge et sans explications n'aide pas.

Peux-tu indiquer ce que tu fais actuellement (dans quelle colonne) et ce que tu voudrais faire pour remplacer cela.

Quand tu dis :

Pour l'instant je dois faire un 1er tri en version papier afin de saisir les effectifs mesurés en fonction des longueurs correspondantes... mais je suis sur qu'il existe une fonction qui me permettrait de ne pas passer par cette étape et donc de gagner du temps.

Il existe peut-être une fonction mais en fonction de quoi le tri (lequel ?) est fait ?

Décris nous étape par étape ce que tu fais.

Amicalement

Nad

j'avais ecris dans mon 1er message ce que je faisais.

je le remets la et plus détaillés pour plus de clarté.

dans la colonne C je remplis les effectifs en fonction d'une version papier sur laquelle il y a écrit

10/5/7/6/8/9/10/9/10/8/9

actuellement je fais un "1er tri" sur papier (un histogramme de comptage)

5 I

6 I

7 II

8 II

9 III

10 III

c'est cette étape que j'aimerais supprimé en créant une case en D13 par exemple dans laquelle je pourrais rentrer ma 1ere valeur sur le papier c'est a dire 10, taper sur enter et que a coté de la longueur 10(colonne B) la valeur 1 apparaisse. ainsi de suite pour les autres mesures.

C'est mieux ainsi?

merci de prendre de ton temps pour me répondre

cordialement

7exemple.zip (8.53 Ko)

Re

C'est plus clair.

Je te propose de saisir toutes tes données dans une nouvelle feuille (nommée Comptage par exemple)

capture

Ensuite, en B14 de "Feuil1", tu inscris cette formule :

=NB.SI(Comptage!A:A;B14)

Formule que tu tires vers le bas

Dis si ça te convient ou si tu préfères la méthode que tu as demandée.

Nad

idéalement je préfère la méthode que j'ai décrite car en fait il y a une 15n d'onglets, chaque onglet correspondant a une espèce de poissons. du coup la formule que tu proposes mettra dans chaque onglet les mêmes effectifs. ou alors il faut que je crée un onglet comptage pour chaque onglet espèce.

Après si je n'ai que cette solution la, elle me contentera très bien

merci pour votre aide.

a très vite j’espère.

Bonjour

Un essai avec une procédure évènementielle

A tester

Re

Banzaï, tu es une fois de plus plus rapide.

Ma proposition (puisqu'on travaille sur plusieurs feuilles)

Amicalement

Nad

GÉNIAL!

la version de nad correspond tout a fait a ma requête!

la version de banzai a un manque car je ne voulais pas saisir la quantité, je voulais juste saisir la longueur et que ce soit la macro qui prenne en compte la quantité (ex j'ai saisi 2 fois 10cm, c'est lui qui gère).

et maintenant comment je fais pour mettre la macro sur mon fichier... je vous le transmets?

En tous les cas MERCI!

Re

Je me rends compte d'un soucis si on saisi une valeur inférieure à 5. Donc, remplace le code du module par celui-ci :

Sub Compte()
Dim val As String
Dim lg As Integer

val = Range("D13").Value
If val < 5 Then Exit Sub
lg = Range("B1:B159").Find(val).Row
Cells(lg, 3) = Cells(lg, 3) + 1
Range("D13").ClearContents
Range("D13").Select

End Sub

Si tu saisis un chiffre inférieur à 5 la macro s'arrête et il restera affiché en D13

Nad

Oups ! Je n'avais pas vu cette partie de ton message

profjoseph a écrit :

et maintenant comment je fais pour mettre la macro sur mon fichier... je vous le transmets?

Il y a 2 codes à copier.

Fais ALT+F11

Dans la partie gauche, clique sur le nom de ton fichier et INSERTION ==> Module

Tu copies le code que je viens de modifier, et tu le colles dans la partie droite

Tu fais un double click sur ThisWorkbook (à gauche) et pareil, tu copies-colles le code qu'il y a dans mon fichier (dans ThisWorkBook)

Nad

Bonjour

C'est vrai j'avais lu en travers

Pour me faire "r"

Nouvelle version avec gestion du double-clic

Changement de fichier

La ligne total était "double-clicable"

excellent! je vais en gagner du temps!

un grand MERCI a vous pour votre aide.

une dernière question tout de même... j'ai un onglet qui ne doit pas être associé à cette macro, comment ça se passe?

Banzai merci aussi pour ta version corrigée il doit rester une tite erreur cependant car quand je rentre ma valeur en D13 et que j'appuie sur entrée il faut que je me remette sur la case D13 pour saisir a nouveau...

Rechercher des sujets similaires à "saisie volee"