IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Appliquer des formules sur une plage de données inconnue (à partir d'un autre classeur) [XL-365]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2014
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Appliquer des formules sur une plage de données inconnue (à partir d'un autre classeur)
    Bonjour à tous,

    J'ai cherché mais ne trouve pas de réponse à ma question car je ne parviens pas à être explicite dans les moteurs de recherches, donc je me résous à l'expliquer dans un forum.

    • J'utilise un ERP/CRM et exporte depuis cet outil des données au format XLS.
    • Parmi les données j'ai un champ codé qui me permet d'extraire plusieurs informations, j'utilise pour cela les formules GAUCHE, DROITE, STXT d'Excel sur une autre feuille de calcul.
    • Les données extraitent sont ensuite compilées dans des tableaux croisés dynamiques


    Mon problème réside dans le fait que je ne peux pas anticiper le nombre de lignes du fichier excel importé car il augmente régulièrement. Sachant que ce fichier est sensé durer plusieurs années, je suis contraint de compter large, aussi j'ai prévu 100.000 écritures reproduites sur 4 onglets différents. Mon fichier excel de traitement devient donc très vite très lourd (26 Mo).
    • Feuille 1 = BDD importée (= données sources)
    • Feuille 2, 3, 4 et 5 = des formules GAUCHE, DROITE, STXT mélangé avec des SI (en fonction de la condition SI les données apparaissent ou non dans chacune de ces feuilles)
    • Feuille 6 = mes tableaux croisés dynamiques de synthèse


    Je me demande s'il n'existe pas une option/formule qui me permettrait d'étendre les formules sur le nombre de lignes nécessaires, pour une meilleure compréhension:
    • Ma base de données importées (Feuil1) a 50 lignes; toutes les formules de ma ligne 2 de la Feuil2 sont reproduites sur ces 50 lignes
    • Mon projet évolue, ma base de données passe à 100 lignes, toutes les formules de ma ligne 2 de la Feuil2 s'étendent jusqu'à la 100ème ligne
    • Mon projet évolue, ma base de données passe à X lignes, toutes les formules de ma ligne 2 de la Feuil2 s'étendent jusqu'à la Xème ligne

    C'est possible?

    Merci d'avance pour votre aide éclairée

  2. #2
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 410
    Points : 2 871
    Points
    2 871
    Par défaut
    Bonjour

    Je pense qu'il suffit que les données de la feuille 1 soit sous forme de Tableau Structuré (Accueil > Mettre sous forme de tableau).
    De plus, l'ensemble des formules des feuilles 2 à 5 me semblent devoir rester dans la feuille 1.
    Quand on est en Tableau Structuré, il suffit de rajouter des lignes en copiant-collant sur la première ligne juste en dessous de la dernière saisie. Le Tableau structuré s'agrandit et toutes les formules se recopient toutes seules jusqu'à la nouvelle dernière ligne.

    En espérant que cela aide.

    Bonne fin d'après-midi

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 927
    Points
    55 927
    Billets dans le blog
    131
    Par défaut
    Salut.

    Si les données sont agencées comme une "table à plat"(*), c'est-à-dire une plage rectangulaire avec éventuellement une ligne d'intitulés, je laisserais le classeur xls comme source et je rapatrierais ses données dans mon classeur de travail avec Power Query. Ca permettrait au passage de traiter les infos avec Power Query plutôt que par formules. Le résultat du traitement Power Query est injecté sous forme de tableau structuré dans Excel, de sorte que tu n'as besoin de rien prévoir.

    Pour moi, la règle est de ne jamais touché à la source, mais de l'importer dans le classeur de travail. Si le nom de la source change, tu peux soit renommer manuellement le fichier, soit saisir son nom complet dans une cellule nommée de ton fichier de travail et utiliser cette donnée dans Power Query pour récupérer les données.

    On ne travaille JAMAIS dans le classeur source


    (*) Si elle ne le sont pas mais que leur agencement suit une règle, il y a souvent moyen de traiter en PQ pour les remettre d'équerre. Si vraiment on ne sait pas, on amène les données brutes dans le classeur et on traite en VBA.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2014
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Merci !

    @Pierre Dumas : ah oui je n'y avais pas pensé, le seul hic que je vois dans ta proposition est que j'écrase l'intégralité des données du tableau source, l'extraction ne permet pas de distinguer les nouvelles entrées.

    Citation Envoyé par Pierre Fauconnier
    Si les données sont agencées comme une "table à plat"(*), c'est-à-dire une plage rectangulaire avec éventuellement une ligne d'intitulés, je laisserais le classeur xls comme source [...] On ne travaille JAMAIS dans le classeur source
    Héhé, c'est exactement ce que je fais:
    • Génération du fichier source depuis mon ERP/CRM
    • Enregistrement des données dans un fichier SOURCE.XLS
    • Depuis mon fichier TRAVAIL.XLS j'importe les données sources dans Feuil1 (Données/Obtenir des données/Depuis Fichier/classeur excel), je traite les données dans Feuil 2 à 5



    Citation Envoyé par Pierre Fauconnier
    je rapatrierais ses données dans mon classeur de travail avec Power Query. Ca permettrait au passage de traiter les infos avec Power Query plutôt que par formules. Le résultat du traitement Power Query est injecté sous forme de tableau structuré dans Excel, de sorte que tu n'as besoin de rien prévoir.
    Ah mais je ne connais pas Power Query, va falloir que je me documente car ça me paraît très intéressant comme solution. Je suis preneur d'info pertinentes pour des tutoriels bien faits à ce sujet si tu en as.

    Merci à vous!

  5. #5
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 410
    Points : 2 871
    Points
    2 871
    Par défaut
    Bonsoir

    Citation Envoyé par karpi Voir le message
    @Pierre Dumas : ah oui je n'y avais pas pensé, le seul hic que je vois dans ta proposition est que j'écrase l'intégralité des données du tableau source, l'extraction ne permet pas de distinguer les nouvelles entrées.
    Je ne comprends pas le souci.
    Si la nouvelle extraction doit se rajouter aux données précédentes, il suffit de faire un copier/coller en-dessous.
    Si la nouvelle extraction doit se substituer aux données précédentes, il suffit de supprimer les anciennes données et de coller les n

    [...]
    Depuis mon fichier TRAVAIL.XLS j'importe les données sources dans Feuil1 (Données/Obtenir des données/Depuis Fichier/classeur excel), je traite les données dans Feuil 2 à 5

    Ah mais je ne connais pas Power Query, va falloir que je me documente car ça me paraît très intéressant comme solution. Je suis preneur d'info pertinentes pour des tutoriels bien faits à ce sujet si tu en as.
    Ce que j'ai mis en rouge est exactement le point de départ de PowerQuery dans Excel 365. A moins de faire du PowerQuery sans le savoir...

    Pour avoir des tutoriels, il est largement possible de lire le blog de Pierre Fauconnier (entre autres).

    En espérant que cela aide.

    Bonne soirée

    Pierre Dumas
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2014
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Pierre Dumas
    Je ne comprends pas le souci.
    Si la nouvelle extraction doit se rajouter aux données précédentes, il suffit de faire un copier/coller en-dessous.
    Si la nouvelle extraction doit se substituer aux données précédentes, il suffit de supprimer les anciennes données et de coller les n
    Non, il n'y a pas de soucis, mais j'avais compris qu'il fallait rajouter les nouvelles entrées aux autres. Je n'utilise pas cette fonction tableau bien que je connaissais son existence. Je l'ai fait sous tes conseils, ça marche et c'est effectivement très pratique.
    Citation Envoyé par Pierre Dumas
    Ce que j'ai mis en rouge est exactement le point de départ de PowerQuery dans Excel 365. A moins de faire du PowerQuery sans le savoir...
    Il semblerait que ce soit bien le cas
    Par contre je ne suis pas très loin du point de départ, il va falloir que je trouve un peu de temps pour creuser.

    Merci @ vous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/05/2017, 06h31
  2. [XL-2003] saisir des formules avec une plage variable de données
    Par nazaire dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/01/2011, 08h35
  3. audit des connexions sur une base de données
    Par Invité dans le forum Administration
    Réponses: 16
    Dernier message: 28/04/2010, 18h17
  4. Réponses: 1
    Dernier message: 23/09/2009, 03h23
  5. centrer l'affichage sur une plage de données
    Par lapa-jh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2007, 05h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo