Calcul automatique - Nombre de lignes

Bonjour

Voici mon souci

J'effectue un import csv quotidien d'un tableau de x lignes et y colonnes (x croissant chaque jour bien entendu, y fixe)

Je dois effectuer des contrôles sur chaque cellule de ce tableau

Mes formules sont rédigées et OK

J'ai modélisé mon problème dans le fichier joint qui constitue un exemple.

Ce fichier comprend l'âge et le nom de personnes inscrites (onglet Feuil1 qui constitue mon import quotidien).

Aujourd'hui, 15 inscrits (demain, peut-être 20, après-demain peut-être 30, etc...).

Admettons que je doive repérer les inscrits dont l'âge est égal à 10 ans.

Dans l'onglet Feuil2, cellule A2, ma formule est OK

Je déplie jusqu'en cellule A16, c'est toujours OK

Mon problème est que, en pratique, mon fichier importé comporte plusieurs dizaines de milliers de lignes.

Déplier devient donc très fastidieux

Ce que je souhaite, c'est pouvoir double-cliquer sur la cellule A2 (ou pas) et que s'affiche les résultats sur n lignes correspondant aux n lignes du fichier importé

Pour ce faire, j'ai bien réussi à isoler ce chiffre variable (voir cellule E1 de Feuil1) mais je ne parviens pas à utiliser cette valeur dans ma formule de l'onglet 2

Il paraît qu'une macro peut effectuer cette opération mais je souhaite industrialiser au plus simple cette opération à l'aide d'une fonction (dans A2 de Feuil2)

dans ma fonction, j'ai tenté de remplacer $A2 par $A2:$A'NB(A:A)' ou $A2:$A&'NB(A:A)', etc ...

Excel n'en veut pas !

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

Merci de votre aide

Stéphane

13model.xlsx (9.29 Ko)

hello,

effectivement, une macro pourrait sur commande étirer les formules de ta feuille 2/ colonne A à la longueur désirée.

Mais si tu souhaites passer par une formule pourquoi ne pas étirer de base ta formule sur 25000 lignes par exemple et puis garder dans un coin de la feuille 2 une formule de contrôle qui t'avertir lorsque tu copies un export de plus de 25000 lignes ?

Bye.

bonjour

Merci pour cette réponse

J'y avais pensé mais je dois livrer ce fichier à des utilisateurs qui veulent se limiter à copier/coller l'import sur l'onglet 1 puis filtrer sur l'onglet 2

Pas de contrôle à effectuer, pas de valeur à vérifier, etc ...

Il me faut une solution pour reprendre ma recherche NB dans ma formule

Stéphane

Je te propose une piste de solution à améliorer :

=> mise en place d'un bouton macro qui étire les formules en fonction du nombre de ligne de la feuille 1.

Férocement c'est du code donc un fichier .xlsm

J'ai créer une plage nommée ("Zones_Formules") avec une formule décaler à laquelle la macro va faire référence.

test et dit moi si cela peut te convenir.

Sub Etendre_formules()
'
' Etendre_formules Macro
'
Dim Zone_Formules As Range
'Zone_Formules = Range("Zone_Formules")

    Range("A2").Select 'selectionne le point de départ à recopier
    Selection.AutoFill Destination:=Range("Zone_Formules")

    Range("B9").Select

 MsgBox ("ok!")
End Sub
7model-1.xlsm (25.39 Ko)

Bonjour

Dans le même esprit, sans formule nommée

Cordialement

10model.xlsm (16.73 Ko)

Férocement c'est du code

J'avais ça sinon :

Sub maquereau()
    Dim nb As integer
    nb = Worksheets("Feuil1").Range("A2").End(xlDown).Row
    formule = "=IF(Feuil1!A2=10,""10 ANS"",""PAS 10 ANS"")"
    Worksheets("Feuil2").Range("A2:A" & nb).Formula = formule
End Sub

@oyobrans

Merci mais détail qui a son importance

Je n'ai jamais codé en vba

Faut que je m'y mette, c'est ça ?

Aucune issue "à l'ancienne" comme évoqué dans ma description ?

Merci


@ amadeus

Merci bcp ça marche

Mais comment visualiser ce qui se cache derrière le bouton "Completer" ?

Tu peux définir une plage variable avec une formule (fonction DECALER), mais pas placer une formule dans une plage variable autrement qu'en VBA.

Sinon, il faut que tu ailles dans l'Éditeur VBA (ALT - F11), à gauche, tu as Modules et dedans Module1, c'est là. Ou bien un clic droit sur le bouton, Affecter une macro, Modifier.

Ok merci

au boulot !

bonjou rà vous

"repérer" des valeurs = 10 sur plusieurs milliers de lignes ? tu veux quel résultat :

  • le total des lignes, alors TCD (ou SOMMEPROD)
  • mettre en rouge les lignes, alors MFC (mais à quoi ça sert ? )
  • rechercher toutes les lignes = 10, alors filtrer

note qu'il est conseillé de travailler sur un fichier miroir de ton fichier exporté (fichier créé par copier/collage spécial liaison à partir de l'export). Ceci permet de mettre des formules, des présentations, des MFC etc.

Rechercher des sujets similaires à "calcul automatique nombre lignes"