Ajout de lignes de données- comment recopier les formules du haut->automatique?

D

Debutan

Guest
Ajout de lignes de données- comment recopier les formules du haut->automatique?

Bonjour à tous,

je reviens sur le forum après une petite absence. Et encore avec des questions de débutant!!! hihi
Un petit problème que vous avez surement tous rencontrés ou soulevés au début et qui doit paraître évident pour les experts.

Quand on travaille sur une feuille excel et que l'on commence à utiliser des formules ou d'autres fonctions dans les cellules, on est obligé de glissez la souris en pointant coin bas-droit de la cellule pour pouvoir répandre la formule ou la fonction dans les autres cellules MANUELLEMENT.
Comment fait-on pour automatiser ce traitement et se retrouver a chaque fois qu'on veut ajouter une nouvelle ligne a la feuille avec les formules et les fonctions deja presentes sur la nouvelle ligne sans avoir a faire glisser les formules.

Pkoi cette question? On traite souvent l'ajout de données dans une feuille de données excel type base de données qui n'est pas figée et on ne veut pas se soucier de sa taille, ni de devoir glisser tout le temps pour recopier les cellules vers le bas....

Quelqu'un a t'il une idée?
 
C

chris

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Bonjour
2 solutions
- si la colonne située à gauche de la formule à recopier est remplie jusqu'en bas, il suffit de double cliquer sur la poignée de recopie au lieur de tirer.

- ajouter les lignes en utilisant la grille de saisie (donnée, grille) : les formules se créent automatiquement.

Chris
 
M

Moa

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Salut debutan !

La raison, en est simple, c'est hyper rapide et simple de recopier des formules vers le bas :

Tu sélectionnes les cellules de la première ligne, tu te mets sur la dernière cellule à droite, tu mets ton curseur en bas à droite de cette cellule jusqu'à faire apparaître une croix comme curseur.

Tu double-cliques, et voilà toutes tes formules recopiées vers le bas.

Sinon, tu peux faire une macro.

Regarde une macro que j'utilise très très souvent :

Sub AutoFill ()

Dim NbreGrille As Long
Dim TestCol As Long
Dim TestLig As Long

TestCol = ActiveCell.Column
TestLig = ActiveCell.Row
ActiveCell.Select
NbreGrille = Range("B14") + 15

Selection.AutoFill Destination:=Range(Cells(TestLig, TestCol), Cells(NbreGrille, TestCol))

End Sub

Quelques Explications :

Mon tableau commence toujours en Ligne 15.
En B14, j'ai une formule NbVal(A:A) qui me calcule le nombre de ligne que contient mon tableau, en comptant, en fait, le nombre de valeur que contient la colonne A

Cette macro me permet de sélectionner un nombre de colonnes variables et d'avoir des colonnes vides dans ma sélection.

Si, par exemple, tu avais toujours le même nombre de colonne dans ton tableau, tu peux simplifier en enlevant ta variable pour les colonnes et en mettant dans ton AutoFill directement Range("A15:E15").

Maintenant, au lieu comme moi de lancer cette macro avec un bouton de commande, tu peux la rendre évènementielle.

En prenant comme évènement le changement de la valeur de ta cellule qui contient ta formule NbVal.

Voilà, je t'ai mis sur le chemin

@ +

Moa
 
D

Debutan

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Merci a tous pour vos idées.

Jon: "n'importe qu'elle feuille de données avec une cellule contenant une formule à recopier vers une ligne vide que l'on ajoute au tableau"

Chris:" la deuxieme solution est intéressante? Je vé voir si il y a un moyen de paramétrer le copiage automatique des formules du tableau dans de nouvelles cellules plus bas."

Moa:" Ouiii c sur que c simple à faire d'un point de vu programmeur ou développeur. Mais du point de vu client, qui recoit une appli et qui veut pas se casser la tete à faire des glisser vers le bas de cellule quand sa base grandit.....ca devient moins simple quand il faut lui expliquer que c une choz a faire manuellement..Ta macro est elle exploitable ou creusable dans un environnement a colonne fixée mé au nombre de lignes indéterminé?

Bon aps a tous
merci de votre attention.
 
D

Debutan

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

voila un exemple simple qui défini deux feuilles:
-la premiere qui permet de sélectionner des noms dans la premiere colonne à partir d'une liste déroulante et qui recherche dans la seconde colonne le prénom associé
-la seconde feuille est la feuille de données des noms et des prenoms ou il est défini une zone bidon people dans laquelle la feuille 1 se fie pour faire ses recherches.

Sujet du problème:
---> je rajoute des lignes dans ma feuille de données feuille 2 ok

Comment les rendre accessibles dans la liste déroulante de la feuille 1 automatiquement?
Comment répandre les formules ou la liste dans la feuill 1 si des lignes sont ajoutées de manière automatique?

voila pour lexemple
si c plus parlant
Merci
 
M

Moa

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Re debutan !

Tu as du mal lire mon explication car justement, je te disais que c'est possible de faire une macro évènementielle.

Avec NbVal en formule, rien à faire, au fur et à mesure que tu vas rajouter une ligne, cette valeur augmentera.

Et avec une macro évènementielle qui sera affectée au changement de cette valeur, alors toujours rien à faire.


@ +

Moa
 
D

Debutan

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Voila un exemple parlant:

2 feuilles excel dans un classeur exemple
- La feuil1 contient 2 colonnes :
nom (liste déroulante )
prenom (formule de recherche du prenom a partir de la selection nom)
- La feuil2 nommée "people" est la feuille de données qui contient tous les noms et les prénoms accessible dans la feuil1.
Cette feuille définit en particulier une plage de cellules qui délimite la zone des données (People) et à partir de laquelle la feuil1 se fie pour faire sa recherche de prenom et aussi pour recenser tous les noms dispo dans la liste.

Tout va bien jusque la ok

Problème:
Supposons que j'ajoute trois prenoms et trois noms dans ma feuil2 ok!

1---> comment répercuter ce changement pour que ma feuil1 liste automatiquement dans la liste déroulante tous les noms disponibles dans la feuil2 (mise a jour auto)--->et mise a jour de la formule colonne prenom associée....?

2---> comment repandre la formule de recherche de prenoms aux lignes qui suivent si je veux par exemple etendre ma plage de cellule dans la feuil1 (de maniere auto) sans devoir faire des glisser vers le bas de mes colonnes dans la feuil1
 

Pièces jointes

  • Exemple.zip
    2.3 KB · Affichages: 55
  • Exemple.zip
    2.3 KB · Affichages: 52
  • Exemple.zip
    2.3 KB · Affichages: 57
M

Moa

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Re Debutan !

Vu que tu poses une autre question, tu aurais utiliser un nouveau fil.

Sinon, dans les deux cas, tu dois utiliser la fonction decaler + Nbval.

Toujours avec NbVal...!!! Hé oui...!

@ +

Moa
 
M

Moa

Guest
Re: Ajout de lignes de données- comment recopier les formules du haut->automatique?

Re !

Regarde le fichier joint

Une formule pour ta liste de validation et une autre pour ta RechercheV :

=DECALER(People!$A$2;;;NBVAL(People!$A:$A))

=RECHERCHEV(A2;DECALER(People!$A$2;;;NBVAL(People!$A:$A);2);2;0)

@ +

Moa
 

Pièces jointes

  • ExempleDebutan.zip
    5.2 KB · Affichages: 63

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren