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 :

Répeter la même macro pour d'autres fichiers excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 25
    Par défaut Répeter la même macro pour d'autres fichiers excel
    Bonjour,
    J'ai fait une macro qui fonctionne pour un fichier(2017_maquette_DRH_macro(27).xlsx), et j'aimerais qu'il fasse la même chose pour 4 autres fichiers (2017_maquette_DT_macro(27).xlsx. / 2017_maquette_DF_macro(27).xlsx / ... ) qui se trouvent également dans le dossier document de travail. J'ai vu qu'il y a des fonctions boucle mais je n'arrive pas trop à les utiliser.

    Ma macro:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub Ouvre()
    Dim wb As Workbook
    Dim ws As Worksheet
     
    Set wb = Workbooks.Open("C:\Users\6881EW\Desktop\Documents de travail\2017_maquette_DRH_macro(27).xlsx")
    Sheets("Bac à sable en ligne").Select
    ChDir "C:\Users\6881EW\Desktop\Envoi"
       ActiveWorkbook.SaveAs Filename:="2017_maquette_DRH_macro(27)_envoi.xlsx"
    Sheets("Analyse").Select
        Range("A1:AK85").Select
        Selection.Copy
     
        Sheets("Analyse").Select
        Range("A1:AK85").Select
        Selection.PasteSpecial Paste:=xlPasteValues
     
        Sheets("Bac à sable en ligne").Select
        Range("A1:U100").Select
        Selection.Copy
     
        Sheets("Bac à sable en ligne").Select
        Range("A1:U100").Select
        Selection.PasteSpecial Paste:=xlPasteValues
     
     
        Application.DisplayAlerts = False
        Sheets("Modèle").Delete
        Sheets("ETP 2018").Delete
        Sheets("ETP 2019").Delete
        Sheets("Table de correspondance").Delete
        Application.DisplayAlerts = True
     
        Sheets("Analyse").Activate
    ActiveWorkbook.Save
     
    Workbooks("2017_maquette_DRH_macro(27)_envoi.xlsx").Close SaveChanges:=True
     
    End Sub

  2. #2
    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
    Une solution simple, sans boucle.
    J'ai aussi un peu arrangé ton code.

    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
    26
    27
    28
    Sub Ouvres()
        Call Ouvre("DRH")
        Call Ouvre("DT")
        Call Ouvre("DF")
    End Sub
     
    Sub Ouvre(Dep As String)
       Dim WBSource As Workbook
     
       Set WBSource = Workbooks.Open("C:\Users\6881EW\Desktop\Documents de travail\2017_maquette_" & Dep & "DRH_macro(27).xlsx")
       WSSource.SaveAs Filename:="C:\Users\6881EW\Desktop\Envoi\" & WSSource.Name
     
       Sheets("Analyse").Range("A1:AK85").Copy
       Sheets("Analyse").Range("A1:AK85").PasteSpecial Paste:=xlPasteValues
     
       Sheets("Bac à sable en ligne").Range("A1:U100").Copy
       Sheets("Bac à sable en ligne").Range("A1:U100").PasteSpecial Paste:=xlPasteValues
     
       Application.DisplayAlerts = False
       Sheets("Modèle").Delete
       Sheets("ETP 2018").Delete
       Sheets("ETP 2019").Delete
       Sheets("Table de correspondance").Delete
       Application.DisplayAlerts = True
     
       Sheets("Analyse").Activate
       WBSource.Close SaveChanges:=True
    End Sub

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 25
    Par défaut
    Merci pour votre réponse.
    J'ai essayé mais ca ne fonctionne pas aux lignes 10/11. Le chemin du workbook est C:\Users\6881EW\Desktop\Documents de travail ; je pense qu'il faut enlever "\2017_maquette" et peut être le rajouter dans les "" après dep ?
    Aussi, est ce qu'il faut rajouter les lignes 10/11 avec autant de fichiers que j'ai à traiter?

  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 axlle6 Voir le message
    J'ai essayé mais ca ne fonctionne pas aux lignes 10/11. Le chemin du workbook est C:\Users\6881EW\Desktop\Documents de travail ; je pense qu'il faut enlever "\2017_maquette" et peut être le rajouter dans les "" après dep ?
    Déjà, "ca ne fonctionne pas" sans explication, ça ne n'aide pas à comprendre la nature du problème.

    Ensuite, je ne comprends pas pourquoi tu poses cette question sur le forum puisqu'il suffirait de faire le test sur ton poste pour avoir la réponse.

    Enfin, il est impossible de dire si les chemins et non de fichiers correspondent à ceux de ton poste.
    La seule chose que je peux te dire, c'est que ça correspond au code que tu as présenté.

    Est-ce que, au moins, tu as compris que tu devais lancer la macro "Ouvres" et non pas "Ouvre".

    Aussi, est ce qu'il faut rajouter les lignes 10/11 avec autant de fichiers que j'ai à traiter?
    Non puisque c'est la première macro qui enchaine le processus pour chacun des fichiers.
    Encore faut-il lancer la bonne macro.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 25
    Par défaut
    il y a un message d'erreur "objet requis" qui fait référence à la ligne 11
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      WSSource.SaveAs Filename:="C:\Users\6881EW\Desktop\Envoi\" & WSSource.Name

  6. #6
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Menhir n'est pas connecté ....

    Remplaces WSSource par WBSource (2 fois sur la ligne)

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 25
    Par défaut
    Merci beaucoup cela fonctionne!

    Quelle fonction faudrait il utiliser si je veux avoir le même résultat mais en utilisant une boucle?
    par exemple, qui ouvre tous les fichiers "2017_maquette_DT_macro(27).xlsx", "2017_maquette_DF_macro(27).xlsx",..., de mon dossier "Documents de travail" et qui suit les instructions que l'on a dans notre macro actuelle?

  8. #8
    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 axlle6 Voir le message
    Quelle fonction faudrait il utiliser si je veux avoir le même résultat mais en utilisant une boucle?
    par exemple, qui ouvre tous les fichiers "2017_maquette_DT_macro(27).xlsx", "2017_maquette_DF_macro(27).xlsx",..., de mon dossier "Documents de travail" et qui suit les instructions que l'on a dans notre macro actuelle?
    Il faudrait utiliser une boucle While avec la fonction Dir().
    Lire ça :
    https://docs.microsoft.com/fr-fr/off...p/dir-function
    https://docs.microsoft.com/fr-fr/off...wend-statement

    Un exemple d'utilisation : https://excel.developpez.com/faq/?pa...BoucleFichiers
    Cet exemple utilise une boucle Do While...Loop mais pour ce cas, ça donne la même chose avec une boucle While...WEnd.

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 25
    Par défaut
    J'ai essayé de faire un code en m'inspirant du post https://excel.developpez.com/faq/?pa...BoucleFichiers et qui donne :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub BoucleFichiers()
        Dim Chemin As String, Fichier As String
     
     
        Chemin = "C:\Users\6881EW\Desktop\Documents de travail"
     
        Fichier = Dir(Chemin & "2017_maquette_DT_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DSI_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DRH_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DG_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DF_macro(27).xls")
     
        While Len(Fichier) < 6
     
         Dim WBSource As Workbook
     
       Sheets("Analyse").Range("A1:AK85").Copy
       Sheets("Analyse").Range("A1:AK85").PasteSpecial Paste:=xlPasteValues
     
       Sheets("Bac à sable en ligne").Range("A1:U100").Copy
       Sheets("Bac à sable en ligne").Range("A1:U100").PasteSpecial Paste:=xlPasteValues
     
       Application.DisplayAlerts = False
       Sheets("Modèle").Delete
       Sheets("ETP 2018").Delete
       Sheets("ETP 2019").Delete
       Sheets("Table de correspondance").Delete
       Application.DisplayAlerts = True
     
       Sheets("Analyse").Activate
       WBSource.Close SaveChanges:=True
     
        Wend
    End Sub
    J'ai plusieurs questions:
    - le message d'erreur renvoie : L'indice n'appartient pas à la sélection, par rapport à cette ligne (et les suivantes car j'ai essayé en supprimant cette ligne) "Sheets("Analyse").Range("A1:AK85").Copy"
    - J'ai rajouté le Dim WSBsource comme dans le code précédent mais je ne suis pas sûre qu'il soit obligatoire; mais si je l'enlève je ne sais pas quoi mettre à côté du Close Save Changes=True avant le Wend pour sauvegarder.

  10. #10
    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
    Il y a plusieurs aberrations dans ton code.

    Déjà, à la base, je ne comprends pas pourquoi tu veux faire une boucle si c'est pour indiquer chaque nom de fichier.
    Si tu veux faire ça, autant en revenir à la solution que je proposais au départ.
    Le seul intérêt de la boucle est d'aller chercher elle-même les noms de fichiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Fichier = Dir(Chemin & "2017_maquette_DT_macro(27).xls")
    Cette ligne a pour unique intérêt de vérifier si le fichier "2017_maquette_DT_macro(27).xls" existe.
    Si on sait déjà qu'il existe et qu'on souhaite mettre son nom et son chemin dans une variable, il suffit d'écrire :
    Fichier = Chemin & "2017_maquette_DT_macro(27).xls"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Fichier = Dir(Chemin & "2017_maquette_DT_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DSI_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DRH_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DG_macro(27).xls")
        Fichier = Dir(Chemin & "2017_maquette_DF_macro(27).xls")
    L'action de la ligne 1 de ce code sera effacée par l'action de la ligne 2 qui sera elle-même effacée par l'action de la ligne 3, etc.

    Si tu mets une valeur dans une variable puis que, dans cette même variable, tu mets une autre valeur sans avoir utilisé la première, alors la première assignation sera complètement inutile puisqu'elle n'aura jamais été traitée avant d'être effacée par la seconde.

    La fonction Len() ne donne pas le nombre d'éléments contenu dans une variable (d'autant plus qu'un simple variable ne peut contenir qu'un élément) mais le nombre de caractère contenu dans la variable.

    Dans l'exemple, cette fonction permet de déterminer à quel moment tous les fichiers du répertoire ont été scrutés.
    Quand il n'y a plus de fichiers à scruter, la fonction Dir() sans paramètre renvoie une chaine vide (Len = 0) et donc de mettre fin au traitement en sortant de la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       While Len(Fichier) < 6
          Dim WBSource As Workbook
    On ne met JAMAIS une déclaration de variable à l'intérieur d'une boucle.
    Une déclaration ne doit se faire qu'une seule fois pour une variable.

    On pourrait ajouter à ça que ton processus n'ouvre pas les fichiers : tu as oublié le Workbooks.Open.

    Corrige déjà ça, on verra le reste après.

    Citation Envoyé par Pierre Fauconnier Voir le message
    A ce stade, je ne comprends pas bien pourquoi tu veux utiliser une boucle.
    Je me suis aussi interrogé sur l'insistance à aller dans ce sens.
    L'hypothèse qui me semble la plus crédible est qu'il s'agit d'un exercice scolaire avec élément boucle imposé.

  11. #11
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Tu dois inclure la recherche du fichier dans la boucle, car avec le code que tu donnes, Fichier contiendra uniquement le dernier nom. De plus, si tu connais les noms des fichiers, tu n'as pas besoin du dir, le dir servant justement à retrouver les noms durant la boucle. Dans une boucle, le dir s'utilisera avec les jokers (* ou ?).

    Si tu connais les noms de fichiers et que tu veux les utiliser au sein d'une boucle, tu pourrais utiliser un tableau. A ce stade, je ne comprends pas bien pourquoi tu veux utiliser une boucle.
    "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...
    ---------------

  12. #12
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Tu pourrais t'inspirer de ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Test()
      Dim Filename As String
      Dim Path As String
     
      Path = "C:\Users\6881EW\Desktop\Documents de travail\" ' Ne pas oublier le \ à la fin
      Filename = Dir(Path & "2017_maquette_*_macro(27).xls")
      Do While Filename <> ""
        Workbooks.Open (Path & Filename)
        ...
        ...
        Filename = Dir()
      Loop
    End Sub
    "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...
    ---------------

  13. #13
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bien relire mon message de hier à 11h20 concernant les extensions.

    Dans le code de ton premier message, tu utilises l'extension xlsX. Par la suite, tu utilises l'extension xls. Si tu utilises dir("*.xls"), tu ne retrouveras jamais tes xlsx. Si tu recherches des xlsx, tu dois utiliser Dir avec l'extension xlsX.. (Dir("*.xlsx").
    "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...
    ---------------

  14. #14
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Voila l'ossature à mettre en place pour boucler sur les fichiers qui correspondent à un modèle de nom. On boucle sur les fichiers du dossier tant que Dir renvoie un nom de fichier. On ouvre alors le fichier et on le passe à une procédure qui va travailler avec., puis on le referme et on passe au suivant s'il y en a un.

    Réalise déjà cette première étape pour bien voir que tu vas effectivement boucler sur les bons fichiers. A la fin de l'opération, tu devras voir dans ta fenêtre d'exécution VBA (ctrl+g si elle n'est pas affichée) la liste des noms des fichiers qui ont été "traité".

    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
    Sub TraiterTousLesFichiers()
      Dim Pattern As String
      Dim Path As String
      Dim Filename As String
      Dim wbSource As Workbook
     
      Path = "C:\Users\6881EW\Desktop\Documents de travail\"
      Pattern = "2017_maquette_*_macro(27).xls"
      Filename = Dir(Path & Pattern)
      Do While Filename <> ""
        Set wbSource = Workbooks.Open(Path & Filename)
        TraiterFichier wb
        wbSource.Close False
      Loop
    End Sub
     
    Sub TraiterFichier(Source As Workbook)
      Debug.Print wb.Name
    End Sub

    Après, on regardera le traitement sur le fichier, car les chdir, select, activate et copy sont probablement de trop (ils proviennent, je suppose, de l'enregistreur de macros). En VBA, il y a des méthodes plus directes et plus rapides. En découpant tes actions en procédures courtes, propres et qui réalisent un traitement bien défini, tu te donnes la possibilité de tester chaque partie de ton traitement:
    • On boucle bien sur les fichiers;
    • Avec un fichier particulier, on copie bien telle plage source vers telle plage de destination;
    • ...



    Chaque point ci-dessus fait l'objet d'une procédure séparée, et il suffit alors de les assembler comme un jeu de Légo pour réaliser le traitement complet.
    "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...
    ---------------

  15. #15
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Merci Franck pour la référence à SheetExists (Faudra que je la mette sur mon blog... )

    EDIT: Arf, c'est déjà fait...
    "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...
    ---------------

  16. #16
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    De rien
    J'essaie, tant que faire se peut, de systématiquement référencer les codes que je vole pour les placer dans mon personal...
    Après, j'avoue ne pas avoir toutes les références, mais au moins 95%...

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/07/2020, 23h37
  2. [VBA EXCEL] Macro pour un autre fichier excel
    Par sidewolf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/09/2015, 16h17
  3. [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
  4. Réponses: 4
    Dernier message: 30/11/2007, 08h55
  5. 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

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