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 :

Recupération de code VBA depuis une cellule Excel


Sujet :

Excel

  1. #21
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Merci Menhir !!!!

    Cela fonctionne sous Excel.

    Par contre, étant donné que les véritables fichiers Excel (source) font jusqu'à 100000 lignes sur X colonnes de conditions (en fonction du nombre de niveaux de nomenclature), que me conseillerais-tu pour récupérer le VRAI/FAUX directement sous VBA (sans passerpar excel

    Cela ferait un copier/coller de 100000 lignes multiplié par 2,3, 4 ou 5 colonnes de conditions.
    Récemment, j'ai eu un message d'erreur car dépassement du nombre de lignes lorsque j'ai fait les tests en tapant directement les conditions en dur sous VBA.

    Comment procèderais-tu ?

    Merci d'avance.

  2. #22
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ca dépend de ce que tu comptes faire du résultat.
    Je suppose que 500 000 réponses VRAI/FAUX, tu ne vas pas les regarder une par une.
    C'est donc sans doute pour un traitement postérieur.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #23
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Justement si.

    Je vais toutes les contrôler puisque chacune permet de dire si on sélectionne (si True) ou non l'article afin de calculer le prix de revient des composants d'une machine (il s'agit s'un développement pour du chiffrage client).

    Donc si tu as une solution, je suis preneur car c'est le seul point qui fait que 4 mois de travail (à raison de 12 à 15h par jour) ne seront pas perdus.

    Merci pour tes propositions.

  4. #24
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans ce cas, place les réponses dans un autre onglet, de la même façon que les formules ont été placées dans un autre onglet.

    Cela dit, il me semble étrange (ou du moins peu productif) qu'autant de données soient traitées à la main (ou à l'oeil) sans qu'il y ait au moins un filtre, un classement, un traitement statistique ou autre qui fasse un écrémage automatique en fonctions de critères donnés.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #25
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Pour faire court, l'entreprise pour laquelle je travaille est passée par un prestataire pour developer un logiciel permettant le chiffrage de toutes nos machines.
    Jusqu'à il y a 2 ans, ce logiciel ne posait aucun probleme.

    Il y a 2 ans, nous sommes passée sous SAP et plus particulèrement dans Variant Configurator.

    Le logiciel du prestataire permettant beaucoup plus (analyse des marges, traitement d'autres machines non incluses dans Variant Configurator, prises en compte des services (installations, partie électricité ...), il reste la reference en terme de devis client.

    Pour tourner, ce logiciel récupère les informations depuis SAP (Prix des articles, poids, puissances, descriptions multi-langues, prix de revient des articles ...).
    Le problème est que l'interface entre SAP et ce logiciel de Chiffrage n'est pas complete et pas fiable.

    Du coup, je développe sous VBA un "double" de Variant Configurator afin d'avoir un outil de contrôle.

    J'ai réusssi la partie prix de vente, la partie Relations entre les options (si tu prends telle ou telle options alors cela interdit telle autre option).

    Il ne me reste plus que la partie prix de revient dont ce point qui me bloque.

    Mon outil permettra le contrôle des machines en plus du logiciel de mon entreprise (ceinture/bretelles avant de transmettre un devis fiable au client).

    Par contre, si un fichier excel doit être présenté différemment (par exemple lubunit au lieu de range("lubunit").value), c'est dans le réalisable si cela peut permettre d'appliquer une de tes solutions.

    Cordialement.

  6. #26
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    il y a plusieurs aberrations depuis l'origine de cette discussion !
    Déjà, cela ne choque personne qu'un « code » soit situé dans une feuille de calculs ?‼
    Moi, un truc comme cela, c'est retour à l'envoyeur pour vérification, il a dû oublier un paramétrage ! …

    Ensuite, SAP permet de réaliser des extractions et ce serait tellement plus rapide que sous Excel qui,
    est-il besoin de le rappeler, n'est pas vraiment équipé en standard pour traiter une base de données !

    Si vraiment il faut mouliner en dehors du logiciel source, Excel est un très mauvais choix,
    vaudrait mieux se tourner vers Access ou tout autre SGBD …

    Cependant pour peu de maîtriser SQL il est possible d'effectuer des traitements "rapides" sous Excel,
    mais ce serait quand même moins efficace …

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #27
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Je suis d'accord avec toi sur toute la ligne.

    Malheureusement, je suis en bout de chaîne et les fichiers m'arrivent tel quel.

    J'ai la logique pour faire un outil fiable (je travaille sur le traitement de données depuis longtemps) mais mes competences en SQL, Access ou base de données sont très limitées.

    Je me débrouille sous VBA sans pour autant être un expert mais là je bloque (c'est la première fois que je demande quelque chose sur un forum).

    J'ai eu cette idée de développement que personne ne suivait au depart mais qui commence à faire son chemin.

    Ce n'est malheureusement pour autant que cela sera developpé dans une base de données.

    A mon niveau, les 2/3 étant déjà faits, je voudrais juste avoir un outil qui me permette de faire que mon travail continue d'être fiable.

  8. #28
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Vu le gouffre investit par l'entreprise dans SAP, il y a bien un gugusse en son sein qui en est responsable
    ou un autre formé aux extractions …

    Travailler en amont est un gain de temps et de productivité !
    Sinon faudra pas se plaindre de la future usine à gaz sous Excel ni des temps d'exécution forcément longs.
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #29
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    La maison mère n'est pas en France et nous petits Français ne sommes d'aucune importance (obtenir des droits SAP met une éternité).

    Si je te montrais les fichiers d'origine (extractions SAP), tu changerais très vite d'avis.

    Certes au départ, la mise en forme de ces fichiers excel est très lourde mais 500000 conditions ne changeront pas toutes en même temps.

    Mais étant informé des modifications (groupe Key user), je sais immédiatement ce qu'il faut modifier (il s'agit de maintenir un gros fichier excel pour lequel j'ai le nom de la dépendance (VC-SC... dans le fichier excel et donc un accès direct à la condition à modifier.

    Le plus dur du job sera de faire tous les trimestres, un contrôle global (mais j'ai déjà mon idée pour automatiser la chose).

    Concernant les temps de réponse, je peux te certifier que je configure plus rapidement avec mon outil (finalisation d'une configuration + calcul des prix de vente par pays) qu'avec Variant configurator (moitié moins de temps avec en plus la désactivation des cellules lorsqu'elles sont inutiles et le remplissage automatique de la saisie au fur et à mesure de la saisie utilisateur).

    Concernant les prix de revient, SAP met actuellement 15 mn pour effectuer le calcul.
    Je pense que mon outil en mettra beaucoup moins si je parviens à résoudre ce pb.

    Néammoins, je reste d'accord avec toi pour dire que VBA n'est pas l'outil adéquat.

    Menhir a donné une première solution mais je voudrais éviter de manipuler de la cellule Excel (certains utilisateurs de mon outil ont office en Anglais et d'autres en Français).

    A ton niveau, aurais-tu une solution pour récupérer ce fameux VRAI/FAUX directement dans VBA plutôt que de se déplacer dans le fichier Excel ?

    Cdlt.

  10. #30
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Bonjour Menhir,

    Comment procéder pour ne pas passer par un copier/coller dans un sub/end sub ?

    Tu écrivais de passer par un onglet supplémentaire ?

    Je ne vois pas comment récupérer le VRAI/FAUX dans un autre onglet.

    Merci d'avance.

  11. #31
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Yakoi71 Voir le message
    Comment procéder pour ne pas passer par un copier/coller dans un sub/end sub ?
    Tu écrivais de passer par un onglet supplémentaire ?
    Je ne vois pas comment récupérer le VRAI/FAUX dans un autre onglet.
    Je parlais de mettre les résultats dans un autre onglet, simplement en indiquant cet onglet dans la formule que je t'ai donnée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="WorkSheets(""Feuil3"").Cells("&LIGNE(Feuil1!A1)&";2) = ("&Feuil1!A1&")"
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #32
    Nouveau Candidat au Club
    Homme Profil pro
    administrateur de donnees
    Inscrit en
    Juin 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : administrateur de donnees
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 18
    Points : 0
    Points
    0
    Par défaut
    Cela oblige toujours à passer par un copier coller directement dans le code VBA car c'est à ce moment que l'actualisation du VRAI/FAUX s'effectue

    Y a t-il une manière de forcer le remplissage VRAI/FAUX sans passer par le copier/coller dans VBA ?

  13. #33
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Tu peux essayer de jouer avec l'objet VBA de Application.
    https://msdn.microsoft.com/fr-fr/lib.../ff840360.aspx
    Personnellement, je ne m'y risque pas. C'est un peu comme scier la branche sur laquelle on est assis.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. [XL-2010] Désactiver le correcteur orthographique Outlook par VBA depuis une application Excel
    Par MarcelG dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/06/2015, 18h20
  2. [XL-2003] Appeler une macro VBA depuis une cellule
    Par Ainelle dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 29/04/2011, 23h43
  3. [Toutes versions] Sous VBA appeler une cellule excel avec une variable
    Par karatetiger76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2011, 19h04
  4. Code VBA - Référence à une cellule et autre
    Par Yvouille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2010, 20h57
  5. Appeler une dll ou un autre module vba depuis une macro excel vba
    Par technobiz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2008, 14h24

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