EXCEL VBA

Bonjour à tous

Je souhaite créer un petit prog en macro vba excel, dont l'objectif est le suivant: une seule macro pourra agir sur plusieurs fichiers excel extraits d'un logiciel, et que le programme supprimera automatiquement les colonnes citées dans le programme.

Si qlq'un pourra me montrer comment faire ce sera vraiment GENIAL, j'arrive à le faire avec le programme que pour un seul fichier... Ca ne m'arrange pas beaucoup c'est pour ça que je fais appel à vos lumières.

Merci d'avance et à très bientôt.

Anicet.

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. ;-) Plusieurs choix s'offrent à toi...

    1) Tu veux que ton programme soit intégré à Excel, sans dépendre d'un quelconque classeur : Tu crée une "Macro Complémentaire"

    2) Tu veux que le classeur contenant le code soit ouvert quand tu lances Excel : Tu crées ta macro et tu enregistres ton classeur XLStart

    Pour faire simple :

    Dans un module que tu auras créé, tu crées une procédure de nom NomDeTonProgramme, ça devrait donner ça :
    Sub NomDeTonProgramme()
    ActiveSheet.Columns(10).Delete
    End Sub


    Ca, ça te vire la colonne 10 de la feuille en cours...

    Ensuite, tu reviens dans Excel, dans cliques avec le bouton droit sur une barre d'outils, tu fais "personnaliser", onglet "Commandes", tu choisis "Nouveau Menu" que tu "glisse" où tu veux dans une barre d'outils existante, tu reclique avec le bouton droit sur le nouvel objet que tu viens de créer et tu lui "affecte une macro", c'est à dire ton petit bout de code VBA....

    Et voilà, tu as un petit menu qui te lancera ta procédure....

    Petite précision : Enregistre ce classeur dans XLStart (Dossier Office de Program Files)....
    ;-)

    1. ;-) Salut !

      Que veux tu précisemment ?

      Ouvrir plusieurs dossiers et travailler sur les cellules ?

      Bref, explique bien tout ! ;-))))))))
      1. Merci de m'avoir répondu,

        créer un programme en macro dont l'objectif est de supprimer quelques colonnes d'un fichier excel et que ce programme soit applicables à tout autre fichier excel

        une et une seule macro pour plusieurs fichiers différents.

        Voilà ce que je souhaite faire,
    2. Ok, merci je vais essayer de le mettre en application. Je débute en vba alors ...

      si tu veux voir mon code en vba c ça:

      sub consultation ( )

      workbook.activate
      range("G:CE").select
      selection.clearcontents

      end sub

      et ce que tu viens de me montrer je ne c pas encore où l'intégrer mais bon on verra...
      1. ;-)

        Pas de "Range" !! Je veux pas voir ça !

        Et le activate y sert à rin... ;-)))

        J'te pardonne ;-))))

        ;-)

        Si tu as vraiment des besoins, sur VBA, tu as mon site... C'est dans mon profil...

        ;-)
      2. @WhiteFangpourrais tu noux expliquer tres préventions contre le range ?

        à ma connaissance c'est sous excel l'objet par défaut
        associé à cell il est très bien
      3. @random;-) C'était un peu d'humour... C'est ce que je disais à mes élèves... en souriant...

        Mais c'est vrai, je n'aime pas Range, car il fait appel à des réservations mémoire qui sont gourmandes, que quand tu développe bien, même en utilisant Cells dans Range, tu n'as aucun besoin de Range qui est à la base fait pour un adressage Texte, ce qui n'est pas bien non plus, et qu'il y a toutes les méthodes et propriétes disponibles pour avoir un code bien "net" et bien appropriées aux objets...

        Bref, Range, pour moi, c'est quand tu enregistres en auto et que tu ne veux pas faire du vrai dev dynamique...

        Mais chacun son truc, je ne veux agresser personne... ;-)
    3. Ok ça marche nickel-chrome, Merci les gars vous êtes formidables

      J'ai utilisé Range et ça marche, je continuerai demain avec Activate comme ça ne fera pas de jaloux.

      See you soon.

      Merci encore