Inscrire des don. les 1 à la suite des autres

wouki -  
Mike-31 Messages postés 18205 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

  1. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. 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
  3. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

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

    merci de ton aide
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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