Inscrire des don. les 1 à la suite des autres

wouki -  
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

voici mon souci
comment sous excel 2007 , je peux inscrire des données les unes à la suite des autres en ne passant que par un champs de saisie ( comme sur un logiciel de compta , money par ex.)
on saisie un libellé , un prix ou autre dans un champs en validant celui-ci s'affiche sur la feuille , on en saisie un autre il se met sous le premier et ainsi de suite .

ya t il une macro ou autre chose pour arriver à ce résultat

d'avance merci.

5 réponses

Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

Si j'ai bien compris ta demande, il faut savoir que par défaut toutes les cellules sont verrouillées dès lors que la feuille est protégée en écriture.

Alors dans un premier temps, sélectionner les cellules que l'on souhaite laisser accéssible puis Onglet Accueil/module Cellules/Format/Format de Cellule/onglet Protection décocher Verrouillée

Revenir su le module Cellule/Format/Protéger la feuille et cocher uniquement Sélectionner les cellules déverrouillées
OK
0
wouki
 
merci mais c'est pas la réponse que j'attendais

j'ai du mal formulé ma question , en fait je voudrais savoir comment faire à partir d'un champs ( ou d'une seule cellule ) sur excel valider une données et qu'elle s'inscrive dans une cellules ( par ex A2) et que lorsque je saisie une autre donnée il la positionne à la suite de la première et ainsi de suite .

un exemple :

en A1 je tape un texte disons " test1" en validant la cellule ce texte s'affiche dans la cellule A2, je recommence à écrire un autre texte dans la cellule de départ à savoir A1 par exemple " test 2" et celui-ci après validation s'inscrit en A3 . et ce sans modifier la première saisie ( à savoir test 1 ce trouvant en A2) et ainsi de suite pour un nombre infini de saisie.
j'espère que c'est plus clair comme ça !

merci
0
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

C'est tout à fait possible en VBA si tu as quelques notions, je t'écris un bout de code pour demain
0
wouki
 
merci
j'aimerais bien voir ce code
je connais un peu le vba .

merci de ton aide
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Bonjour,
Salut Mike,
Excusez l'incruste...
Je pense que ce code pourrait t'aider.
Pour le mettre en place, clic droit sur l'onglet de la feuille concernée/Visualiser le code et copier /coller ce code dans la fenêtre Visual Basic ainsi ouverte :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Range("A1") <> "" Then
    Range("B65536").End(xlUp).Offset(1, 0).Value = Range("A1").Value
    Range("A1").Value = ""
    Range("A1").Activate
    Exit Sub
End If
End Sub

Toute saisie en A1 sera placée en B2 et dessous...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut

Me voila de retour, merci Pijaku d'avoir pris le relais.

Une autre version bien que le code de Pijaku est plus adapté, à coller dans les propriétés feuille comme celui de Pijaku

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.OnKey "{RETURN}"
Range("A65536").End(xlUp).Offset(1, 0).Value = Range("A1").Value
Range("A1").Value = ""
Application.OnKey "{ENTER}"
End If
End Sub
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0