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

Macros et VBA Excel Discussion :

Automatisation analyses.


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Stagiaire
    Inscrit en
    Mai 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 18
    Par défaut Automatisation analyses.
    Bonjour,

    J'ai un fichier Excel qui détaille une analyse pour des décideurs, ce fichier doit être automatisé car il doit être actualisé tout les mois et pour cela j'utilise donc une MACRO VBA. Dans un premier temps j'extrait plusieurs requêtes BW avec beaucoup de colonnes (feuille numéro1), la macro vient ensuite récupérer toutes les colonnes, les coller sur une autre feuille (feuille numéro2) puis supprime ce qui n'est pas nécessaire à l'analyse (cf plus haut), cette macro déplace aussi ensuite les colonnes en fonction d'un ordre précis qui n'est pas établis par la requête d'origine. Mon problème est que je voudrai faire la même chose mais de manière plus simple en partant de la feuille numéro1, c'est-à-dire de ne pas passer par l'étape d'après! Y'aurait-t-il moyen avec un code VBA de récupérer que ce dont j'ai besoin ?
    De plus cette macro d'origine à été faite avec l'enregistreur de macros, ce qui n'est pas optimal.

    Si jamais cela n'est pas clair et qu'il y a des questions, dites le moi!

    Merci de votre aide

    PLEASE HELP ME

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Le plus urgent c'est de débarrasser la macro de toutes les astérisques.

    Ils t'ont enseigné quoi avant de t'envoyer en stage là ?

    Les maudites écoles n'enseignent pas VBA, déversent les étudiants dans des entreprises sans vérifier s'ils ont enseigné ce qu'il fallait enseigner; et ce sont les bénévoles des forums qui font la job des professeurs. Et en plus c'est urgent. L'urgent c'est que les Tits-Jos-Connaissants qui n'enseignent pas ce qu'il faut enseigner, enseignent ce qu'il faut enseigner. Moi, je n'habite en France et me faire balancer un urgent parce que le maudit État français ne fait pas son ouvrage comme du monde c'est du très mauvais goût.

  3. #3
    Membre averti
    Homme Profil pro
    Stagiaire
    Inscrit en
    Mai 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 18
    Par défaut
    Assez vrai oui, on peut en débattre toute une journée de cela... le problème étant que ça ne me fait pas avancé et que je doit finir aujourd'hui...j'ai quelque peu avancé mais c'est très poussif !
    SVP juste un minimum d'aide
    Merci.

  4. #4
    Expert éminent 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
    Par défaut
    Citation Envoyé par xszma Voir le message
    la macro vient ensuite récupérer toutes les colonnes, les coller sur une autre feuille (feuille numéro2) puis supprime ce qui n'est pas nécessaire à l'analyse (cf plus haut), cette macro déplace aussi ensuite les colonnes en fonction d'un ordre précis qui n'est pas établis par la requête d'origine.
    Pour copier des colonnes, on utilise la méthode Copy sur l'objet Column source. Par exemple Columns("B:D").Copy.
    https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)

    Ensuite, on les colle à leur destination avec un PasteSpecial, avec une option xlPaste correspondant à ce qu'on veut copier.
    https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)
    https://docs.microsoft.com/fr-fr/off...el.xlpastetype

    Pour supprimer une colonne, on applique la méthode Delete à l'objet Column.
    Comme c'est une colonne entière, inutile de préciser dans quelle direction Excel comble le vide.
    https://msdn.microsoft.com/fr-fr/lib...1(v=office.15)

    Pour déplacer une colonne, on lui applique une méthode Cut et on applique immédiatement après un Insert à la position de destination.
    https://msdn.microsoft.com/fr-fr/lib...4(v=office.15)
    https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)

    Mon problème est que je voudrai faire la même chose mais de manière plus simple
    De "manière plus simple" que quoi ?

    en partant de la feuille numéro1,
    "La feuille numéro1", ça ne veut rien dire. Un onglet doit être désigné par son nom.

    c'est-à-dire de ne pas passer par l'étape d'après!
    C'est quoi "l'étape d'après" ?

    De plus cette macro d'origine à été faite avec l'enregistreur de macros, ce qui n'est pas optimal.
    Je ne vois pas de macro dans ta demande.

    Puisque clementmarcotte en parle, je suppose qu'elle doit exister dans une autre demande mais désolé, je ne vais pas jouer au Petit Poucet parce que tu as la flemme de recopier ton code.

    En tout cas, si elle est "pleine d'étoiles", c'est qu'elle ne sort pas simplement de l'enregistreur de macro.

    L'enregistreur de macro est un très bon outils pour mettre sur la piste des solutions mais il ne fait pas tout le boulot.
    Il faut ensuite analyser le code fourni avec l'aide VBA (très bien faite) pour le comprendre et le nettoyer.

    Citation Envoyé par clementmarcotte
    Les maudites écoles n'enseignent pas VBA, déversent les étudiants dans des entreprises sans vérifier s'ils ont enseigné ce qu'il fallait enseigner; et ce sont les bénévoles des forums qui font la job des professeurs. Et en plus c'est urgent. L'urgent c'est que les Tits-Jos-Connaissants qui n'enseignent pas ce qu'il faut enseigner, enseignent ce qu'il faut enseigner. Moi, je n'habite en France et me faire balancer un urgent parce que le maudit État français ne fait pas son ouvrage comme du monde c'est du très mauvais goût.
    Perso, ce qui m'agace, ce sont les demandeurs qui balance un "urgent" parce qu'il s'y sont pris au dernier moment en se disant que d'autres allaient faire leur travail à leur place ou qu'il allaient trouvé sur Internet un truc déjà prêt à copier/coller et qu'il ne servait à rien de faire l'effort de se former à un langage si on pouvait s'en abstenir.
    Nom : Becquée.png
Affichages : 89
Taille : 35,0 Ko

Discussions similaires

  1. [Fait][VBA][Général]L'aide VBA n'est pas complète
    Par Miss Ti dans le forum Access
    Réponses: 11
    Dernier message: 03/04/2007, 21h51
  2. Aide VBA - Access 2000
    Par amahe dans le forum Access
    Réponses: 1
    Dernier message: 13/08/2006, 10h55
  3. aide vba boucle for each paramétrée en range
    Par gotlieb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/07/2006, 08h55
  4. Problème affichage Aide VBA
    Par airbeone dans le forum Access
    Réponses: 6
    Dernier message: 19/06/2006, 16h32
  5. [Wanted] Recherche fichier VBAXL8.HLP (Aide VBA Excel 97)
    Par USV dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/04/2006, 22h04

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