Macro etirer plusieurs formules

Bonjour,

Je souhaite mettre en place une macro dans mon document Excel afin d'automatiser une partie de la mise en forme.

Ci-joint un fichier pour vous aider à comprendre ce que je cherche à faire :

Mon objectif est de remplir les cases en jaune, en recopiant la formule qui est juste au dessus. Est-il possible pour la macro de trouver la dernière ligne qui contient les informations et simplement d'étirer la formule dans les cellules vides.

Merci d'avance pour votre aide,

J.

12exple.xlsx (12.98 Ko)

bonjour

l'arme absolue : menu accueil, mettre sous forme de tableau

tout devient automatique !

elle est pas belle la vie avec Excel ?

Hello JMD

Le problème c'est que mes données viennent d'une extraction et qu'il peut y avoir plus de 170.000 lignes.

Le tableau est-il toujours une option dans ce cas ?

EDIT1 : Je dois actualiser ce fichier tous les mois, et de nouvelles lignes peuvent se rajouter et c'est notamment pour ça que je souhaite automatiser la mise en page

Merci

Bonjour,

Sub recopie()

    der = Range("B2").End(xlDown).Row
    Range("E3:H3").Select
    Selection.AutoFill Destination:=Range("E3:H" & der), Type:=xlFillDefault

End Sub

mais c'est tellement plus simple de mettre tes données en tableau. La formule est automatiquement héritée !


Il te manque 0 ou FAUX à a fin des formules RECHERCHEV

même si c'est facultatif ! car dans ce cas c'est "VRAI" et cela peut te conduire à des erreurs.

Version avec tableau =

10exple.xlsx (11.93 Ko)
Steelson a écrit :

La formule est automatiquement héritée !

Hello Steelson,

Vous parlez bien d'un tableau standard et non d'un TCD ?

Pour un tableau normal lorsque je rajoute une ligne, les formules ne sont pas automatiquement calculée et je n'arrive pas à faire "actualiser".

Merci

re

salut Steelson

solution sans VBA :

tu importes/exportes dans un fichier Import.xls

dans Exploitation.xlsx, tu crées un miroir de Import.xls ( c'est à dire un onglet lié à Import par des liaisons)

dans Exploitation, sur les colonnes à droite tu ajoutes tes formules sur 200 000 lignes (prévoir long pour anticiper l'allongement de Import)

ensuite tout est automatique

note que Microsoft conseille de passer à Access pour les grosses tables de données. Mais là je ne pense pas que ce soit nécessaire.

Steelson a écrit :

Il te manque 0 ou FAUX à a fin des formules RECHERCHEV

même si c'est facultatif ! car dans ce cas c'est "VRAI" et cela peut te conduire à des erreurs.

Oui, sur mon fichier j'ai mes rechercheV avec faux et je précise toujours pour éviter les surprises


jmd a écrit :

re

salut Steelson

solution sans VBA :

tu importes/exportes dans un fichier Import.xls

dans Exploitation.xlsx, tu crées un miroir de Import.xls ( c'est à dire un onglet lié à Import par des liaisons)

dans Exploitation, sur les colonnes à droite tu ajoutes tes formules sur 200 000 lignes (prévoir long pour anticiper l'allongement de Import)

ensuite tout est automatique

note que Microsoft conseille de passer à Access pour les grosses tables de données. Mais là je ne pense pas que ce soit nécessaire.

Re,

L'onglet Données n'est qu'une partie du fichier final qui est extremement long (bcp de liaison vers d'autres documents, bcp de si, bcp de calcul). Je cherche à optimiser ce que je peux, déjà en réduisant le nombre de liaisons et de si().

La solution du tableau de Steelson me semble interessante, mais lorsque je l'applique à ma feuille je n'obtiens pas le même résultat (le [@Marque] du tableau par exemple). J'ai toujours mes anciennes formules qui ne s'appliquent pas aux nouvelles cellules

EDIT : Par nouvelles cellules j'entends les nouvelles lignes avec les infos Market, Marque Date qui permettent ensuite de calculer le reste

Jauster a écrit :
Steelson a écrit :

La formule est automatiquement héritée !

Hello Steelson,

Vous parlez bien d'un tableau standard et non d'un TCD ?

Pour un tableau normal lorsque je rajoute une ligne, les formules ne sont pas automatiquement calculée et je n'arrive pas à faire "actualiser".

Merci

si c'est un tableau standard au sens excel, regarde ma proposition, elle le fait !

Jauster a écrit :

La solution du tableau de Steelson me semble interessante, mais lorsque je l'applique à ma feuille je n'obtiens pas le même résultat (le [@Marque] du tableau par exemple). J'ai toujours mes anciennes formules qui ne s'appliquent pas aux nouvelles cellules

EDIT : Par nouvelles cellules j'entends les nouvelles lignes avec les infos Market, Marque Date qui permettent ensuite de calculer le reste

Reprends les formules à la première ligne peut-être


jmd a écrit :

re

salut Steelson

solution sans VBA :

tu importes/exportes dans un fichier Import.xls

dans Exploitation.xlsx, tu crées un miroir de Import.xls ( c'est à dire un onglet lié à Import par des liaisons)

dans Exploitation, sur les colonnes à droite tu ajoutes tes formules sur 200 000 lignes (prévoir long pour anticiper l'allongement de Import)

ensuite tout est automatique

note que Microsoft conseille de passer à Access pour les grosses tables de données. Mais là je ne pense pas que ce soit nécessaire.

je vais tester cela ! merci jmd

Re-Bonjour,

Je pense savoir d'ou vient mon probleme.

Les données qui sont extraites de mon logiciel reinitialisent le format des cellules à chaque nouvelle extraction. Impossible donc de les prendre dans mon tableau (sur le ficher exemple, cela correspond aux colonnes A à C).

Avez vous une solution ?

Si non, je vais regarder pour adapter la macro que vous m'avez donné.

re

avec ma solution de "miroir", il suffit au lieu de faire des liaisons, de mettre des formules qui reprennent les données de Import et qui les transforment

exemple pour remplacer un point par une virgule dans un nombre

=SUBSTITUE(TaCellule;".";",")*1

Rechercher des sujets similaires à "macro etirer formules"