Descente automatique des formules à chaque nouvelle ligne sa

Bonjour à tous,

Dans le fchier joint :

les colonnes A à G sont saisies par un utilisateur. Leur formatage est conditionnel.

La colonne H contient une formule qui donne le solde.

Une nouvelle donnée saisie en A(x) génère automatiquement le formatage (colonnes et trame) mais comment faire descendre la formule en H de la ligne précédente ?

https://www.excel-pratique.com/~files/doc/3Y69GEssai_Pelerin98.xls

hello

clique dans ton tableau, menu données liste créer une liste

et Excel comprend tout !

maintenant quand tu cliques dans le tableau, il s'entoure d'un liseré, avec une ligne en bas prête à la saisie. Tu saisis et la formule se recopie

rem : évite les $ dans tes formules et corrige en H3 =F3-E3

Bonjour jmd,

Désolé mais je n'arrive pas à faire la manip que tu me proposes.

Pour cet essai, je ne m'occupe pour l'instant que de la colonne H où il y a une formule.

Quand tu dis : Clique dans le tableau ça veut dire où ? (sélectionner la colonne H ?)

De toute façon, de quelque manière que je m'y prenne, si je sélectionne l'onglet "Données" je n'ai pas dans le menu contextuel qu'il me propose de "Liste"

Note : je suis sous OOo.3

Je suis désolé, mais je ne saisi pas le sens de ta demande.

Ce qui te gêne, c'est que le message VALEUR s'affiche dans la colonne H ?

bonjour a tous

mais comment faire descendre la formule en H de la ligne précédente ?

Je ne pense pas que tu puisses faire descendre la formule.

Par contre ,tu peux saisir celle ci en H2 :

=SI(A2="";"";$H1+$F2-$E2) et la copier vers le bas .

Par contre il va falloir saisir un solde de depart pour eviter l'affichage de "# valeur"

Amicalement

aïe !

tu es sur OpenOffice, ne crois que les fonctions dont je parle n'existent pas ;(

(as-tu essayé aussi sur un forum OOO ? )

Si si JMD, elles existent ! Et effectivement, il faut saisir un solde de départ. Après, tu fais un copier-coller de ta forule vers le bas. Le signe $ n'est par contre pas nécessaire, car placé où il est placé, tu bloques ta colonne. Hors, en recopiant vers le bas, ta colonne ne changera pas.

Bonjour haonv,

C'est ce que j'ai fait dans mon tableau personnel (formule dans la colonne H et reproduction par "tirage vers le bas")

mais,tant que c'est pour une utilisation personnelle, je peux refaire cette manip de temps en temps, au fur et à mesure que le nombre de lignes saisies augmente, pour qu'il y ait bien en regard, les formules de calcul

mais,si je veux livrer cette application à des utisateurs qui peuvent, durant leur période d'utilisation (2,3, 4 ou 5 ans), saisir jusqu'à 10 000, 20 000 ou 30 000 lignes, je ne me vois pas faire ce "tirage vers le bas" de mes formules pendant 20 000 lignes ou plus . . .

D'où ma question : Y a t-il une astuce pour qu'elles se reproduisent automatiquement à chaque saisie de nouvelle ligne ?

Re ,

Cela doit être possible par macro ,mais par formule ...

Des spécialistes devraient bientôt se manifester

Mais pour éviter d'avoir a étirer vers le bas la formule , tu peux :

  • la saisir dans ta première cellule concernée et la copier
  • sélectionner la colonne entière ,en cliquant sur le nom de la colonne (une flèche noire orientée vers le bas apparait lorsque tu es sur le nom d'une colonne)
  • et coller la formule
Ensuite il te faudra corriger le titre sur la première ligne .

La formule est dans ta colonne jusqu'à la dernière ligne du fichier.

Inconvénient :Au départ tu as un fichier pratiquement vide ,mais qui est déjà volumineux (la formule est sur toute les lignes du fichier )

Amicalement

Bonsoir à tous,

Pour copier la formule en H2, jusqu'à la dernière ligne du tableau

Sub formule()
Dim Lg As Long
    Lg = [A65536].End(xlUp).Row
    Range("h2").AutoFill Destination:=Range("h2:h" & Lg)
End Sub

Bonne soirée

Claude.

re,

La même chose, mais sans module ni bouton,

il suffit d'écrire à la suite de la colonne A

à mettre dans le VBE feuille "Ecritures"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Lg As Long
    If Not Application.Intersect(Target, Range("A65536").End(xlUp)(2)) Is Nothing Then
        Lg = Target.Row
        Range("h2").AutoFill Destination:=Range("h2:h" & Lg)
    End If
End Sub

Claude.

recherch

Bonjour Dubois,

Désolé de répondre si tard, et merci pour tes 2 réponses, mais comme je ne connais pas du tout VBA (et qu'il va bien falloir que je m'y mette) c'est pour l'instant du chinois pour moi.

Voir ma quesion dans le sujet que j'ai ouvert "Débutant en VBA"

bonjour,

je me permet d'intervenir sur ce sujet car je pense avoir la meme probleme.

je souhaite savoir comment dans un tableau faire en sorte que la ligne de saisi incluant des listes de choix et des formules puisse s'incrementer toute seul sans faire un copie manuel de la ligne precedente.

cela doit obligatoirement passer par du VBA?

cordialement

re à tous

soit : menu données créer une liste (la vraie et bonne méthode selon moi) Excel devine tout ! génial

soir tirer la formule vers le bas (10000 lignes en 30 secondes de glissement) mais les la validation des données n'est pas recopiée.

Rechercher des sujets similaires à "descente automatique formules chaque nouvelle ligne"