Recopier une formule jusqu'en bas d'un tableau

Bonjour,

Mes recherches ont abouti à des échecs alors je vous sollicite pour en terminer avec cette histoire

Dans le fichier joint, il faut, à l'aide d'une macro, recopier les deux formules jusqu'en bas du tableau.

Le nombre étant aléatoire (dans mon fichier réel), il faut pouvoir détecter quelle est la dernière ligne (non vide).

Merci !

14classeur1.xlsx (8.23 Ko)

Bonjour

A tester

29classeur1-9.xlsm (14.68 Ko)

Oui ça marche bien dans cet exemple.

Quels paramètres dois-je modifier exactement ?

En fait, mes formules à recopier dans mon fichier réel sont dans la plage AF2:AH2.

Merci.

EDIT : il y a une version où les formules ne sont pas écrasées sur la première ligne ? J'ai besoin de les garder pour les prochaines fois.

Re,

Remplace comme ceci

Sub copie()
  Dim Dl%, i%
  Dl = Range("AF" & Rows.Count).End(xlUp).Row 'Dernière ligne colonne AF
    For i = 2 To Dl 'boucle de la ligne 2 à la dernière non vide
     Cells(i, 33).Value = Left(Cells(i, 32).Value, 3) ' cellule AG = gauche cellule AF),3)
     Cells(i, 34).Value = Right(Cells(i, 32).Value, 4) ' cellule AH = droite cellule AF),4)
    Next i
End Sub

Sauf erreur, cela ne marche pas et les formules de la ligne 2 sont toujours écrasées (peut-être que tu n'as pas vu mon EDIT).

6classeur-v2.xlsm (28.03 Ko)

Re,

Moi je te répond par rapport à la question et au classeur fourni

Si tes formules sont en plus beaucoup plus compliquées qu'un simple LEFT ou RIGHT et en plus Matricielle

Il fallait préciser

Tu peux toujours, à l'aide de l'enregistreur de macro, faire la manip et juste modifier la fin de plage par la dernière ligne

En fait, je ne pensais pas que la complexité des formules avait une importance

J'avais en tête un "simple tirer vers le bas", peu importe le contenu.

Tu peux toujours, à l'aide de l'enregistreur de macro, faire la manip et juste modifier la fin de plage par la dernière ligne

Je veux bien mais Mister Excel n'est pas content. Je ne vois pas comment positionner la variable de la dernière ligne.

J'ai testé ceci et la dernière ligne pose soucis :

  Dim Dl%, i%
  Dl = Range("A" & Rows.Count).End(xlUp).Row 'Dernière ligne colonne A

    Range("AF2:AH2").Select
    Selection.AutoFill Destination:=Range("AF2:AH" & Dl)

EDIT : modif faite ci-dessus, ça fonctionne.

Bonjour

Quel est l'intérêt alors qu'en mettant la plage sous forme de tableau, la formule se recopie toute seule et s'ajoute à toute nouvelle ligne ?

Bonjour,

Car la base de données fait plus de 200 000 et ça va grossir au fil des mois.

J'ai déjà testé la méthode "du tableau" avec d'autres fichiers et ils sont devenus utilisables.

Le tableau Excel n'est pas adapté quand on a beaucoup de volumétrie je trouve.

Note : c'est le PC de mon boulot

Windows 7 Pro avec proc Intel Core i3 et 8Go de RAM

C'est pour ça que j'enlève toutes les formules à partir de la seconde ligne (alléger le fichier et limiter les recalculs).

Le temps pour traiter ces formules dans un cas réel est d'environ 2h aujourd'hui.

Rechercher des sujets similaires à "recopier formule bas tableau"