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 :

[VBA EXCEL] Macro pour un autre fichier excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 101
    Par défaut [VBA EXCEL] Macro pour un autre fichier excel
    Bonjour à tous,

    j'explique mon idée : je dois traiter beaucoup de fichier xls ou xlsm manuellement pour appliquer certains filtre, supprimer certaines lignes etc...

    j'aimerais un fichier excel qui contient toutes les macros des autres fichiers excels dont des du traitement à effectuer.

    j'ajoute un bouton par fichier, et hop mon process s'effectue en automatique.

    le hic c'est que je connais que les bases des macro excel (je ne suis pas un expert dans le domaine)

    j'imagine que je dois tout abord ouvrir l'excel à traiter, puis lancer la macro, mais j'imagine que je dois écrire ma macro en tenant compte du nom du classeur et de la feuille excel.

    Pourriez-vous m'orienter sur la démarche svp.

    Ah j'oubliais, je ne peux pas mettre les macro directement dans les fichiers concernés car il s'agit de flux sortant Talend et chaque semaine, le job est lancé générant un autre fichier excel (avec en dynamique la date de l'exécution du job)

    merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Vous pouvez utiliser le modèle objet pour cela: Workbook -> Worksheet -> Range etc ....
    A vous ensuite de spécifier sur quel workbook s'applique votre procédure. Vous pouvez / devez le passer en argument, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Function GetLastDate(Wbk As Workbook, RefDateAddr As String, PromptUser As Boolean) As Date
    '
     
    Funcname = "GetLastDate"
     
        Dim RefDate As Date, WsRefDate As Date, RngVal As Variant
        Dim Ws As Worksheet
     
        On Error GoTo Err_GetLastDate
     
        If IsMissing(Wbk) Then Set Wbk = ActiveWorkbook
     
       For Each Ws in Wbk.Worksheets
     
             RngVal = Ws.Range(RefDateAddr)
             Debug.Print Ws.Name, Range(RefDateAddr)
     
            If IsDate(RngVal) Then (....)

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 101
    Par défaut
    dsl j'ai du mal avec ton code, (pas de commentaires loool ahhh ces développeurs qui ne commente pas leur code hihi)
    Blague à part, j'aimerais vraiment qu'on me dise comment définir une macro pour un autre classeur excel.

    Soit je créer un unitform indépendant avec des boutons qui exécuteront les macros destinés à d'autres classeurs excel ou soit je créé un classeur excel, et dans une feuille de calcul j'insert des bouton qui exécuteront les marcros destinés à d'autres classeurs excel.

    J'aimerais bien que me donne la procédure à suivre pour y parvenir.

    Merci d'avance

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour..

    Voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub Main()
     
     Dim wb As Workbook
     
     'Pour appliquer la macro au classeur actuel
     Set wb = ThisWorkbook
     
     Call TaMacro(wb)
     
     'Pour appliquer la macro a un classeur fermé
     AutreClasseur = "C:\Users\client\Downloads\Casino.xls"
     
    'Ouvrir le classeur
     Set wb = Workbooks.Open(Filename:=AutreClasseur)
     
    'Appeler la macro
     Call TaMacro(wb)
     
    End Sub
     
    Sub TaMacro(wb)
     
     wb.Worksheets("Feuil1").Cells(2, 2) = wb.Name
     
    End Sub

Discussions similaires

  1. [XL-2010] Macro pour Ouvrir un fichier Excel a partir d'un autre fichier Excel
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/06/2013, 13h27
  2. Réponses: 4
    Dernier message: 30/11/2007, 08h55
  3. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08
  4. [VBA-E] Pointer sur un autre fichier Excel
    Par Yop dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 12/12/2006, 19h43
  5. [VBA-E] Macro pour convertir un fichier texte en excel
    Par Nicolas67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2006, 14h47

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