Compilation liste données depuis une cellule fixe

Bonjour,

J'aimerais pouvoir créer un fichier excel pour dans le futur en faire une carte de contrôles avec un graphique etc.

Mon interrogation se porte sur le fait de pouvoir créer une liste de données dans le temps, en remplissant une cellule fixe dans mon classeur. Cette cellule sera amenée à être modifié, mais la valeur antérieure devra impérativement être copiée dans la liste avant d’être supprimée de la cellule fixe.

Voilà ce que je souhaiterais :

Si par exemple, la cellule où j'écris ma donnée (hauteur d'une pièce) est la cellule A2, il faudrait que l'on puisse écrire la donnée dans cette cellule et que ça remplisse la colonne B où toutes les entrées dans la cellule A2 seraient compilées les unes à la suite des autres.

hauteur piece

Dans le futur, la colonne dite "compilée" serait dans une autre feuille pour question de lisibilité, mais le principe reste le même si je comprends comment faire.

L'idée globale est qu'une personne remplisse seulement une cellule pour ensuite pouvoir faire un graphique grâce à ma "colonne compilée". Je pourrais le faire facilement en remplissant simplement une colonne au fur et à mesure, mais quand il y aura +100 valeurs, ce sera pas pratique de naviguer dans le classeur excel pour écrire les données, d'où ma cellule unique pour les écrire...

Bien cordialement,

Dans l'attente de lire vos conseils avisés.

Bonjour SpanouGendt et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] ainsi que ses fonctionnalités
qui vous aideront dans vos demandes et réponses sur ce forum.

Merci de votre participation

Concernant votre demande, voici une possibilité de code

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim nLig As Long
  ' Si saisie dans la cellule A2
  If Target.Address = "$A$2" Then
    ' Vérifier si la cellule contient une valeur, sinon on sort
    If Target = "" Then Exit Sub
    ' Avec l'objet conteneur : feuille nommée "Données"
    With Sheets("Données")
      ' Trouver la nouvelle ligne vide de la colonne B, pour inscrire la valeur
      nLig = .Range("B" & Rows.Count).End(xlUp).Row + 1
      ' Désactiver les évènements
      Application.EnableEvents = False
      ' Inscrire la nouvelle valeur
      .Range("B" & nLig).Value = Target.Value
      ' Effacer le valeur saisie
      Target.ClearContents
      Target.Select
      ' Réactiver les évènements
      Application.EnableEvents = True
    End With
  End If
End Sub

Et voici le fichier exemple

A+

Bonjour BrunoM45,

Merci pour cette solution, effectivement c'est ce que je souhaitais.

A+

Bonjour,

Une autre question : comment faire la même chose mais pour compiler (dans le même classeur) les données de la cellule B2 de la feuille "Saisie" dans la colonne D de la feuille "Données", tout en gardant le fait que ça fonctionne aussi pour compiler la cellule A2 dans l'autre colonne.

J'ai essayé d'ajouter en dessous de votre solution en modifiant A2 par B2 etc mais ça ne fonctionne pas. Faut-il que j'insère un deuxième "If" ?

Au final il faudrait que respectivement les données de A2 (B2) dans Saisie soient dans la colonne A (D) de données mais je ne sais pas comment ajouter cela à la suite du code existant ou à l'intérieur même si je suppose qu'il faudrait un autre "If" mais je ne suis pas sûr...

Merci de votre aide.

Rechercher des sujets similaires à "compilation liste donnees fixe"