Appliquer une macro personnelle sur plusieurs classeurs

Bonjour à tous,

je me permets de vous contacter car j 'ai un soucis: j'aimerais appliquer ma macro personnelle sur plusieurs fichiers qui commence toujours par Tableau de bord appro 29 07 14 et il y a que la date qui change.

Est ce que il y a un moyen de masquer la date pour pouvoir appliquer ma macro sur tous les fichiers?

J'ai trouvé ce code mais je n'arrive pas à l'appliquer sur ma macro.

Dim mDate As String

Dim Fichier As String

mDate = Replace(Date, "/", "")

Fichier = "Tableau de bord appro_" & mDate & ".xls"

Je remercie quiconque aura pris de son temps pour examiner ma question

Bonjour,

Sur base des infos données essaie avec ce code :

Dim mDate As String
Dim Fichier As String
mDate = Replace(Format(Date, "dd/mm/yy"), "/", " ")
Fichier = "Tableau de bord appro_" & mDate & ".xls"

Si ok, clique sur le V vert à coté du bouton EDITER lors de ta réponse afin de cloturer le fil

Crdlt

Rebonjour,

Non ça n'a pas fonctionné quand j'essayé de l' appliquer sur le fichier du tableau de bord 29 07 14.

Sub ESSAI()

'

' ESSAI Macro

'

'

Dim mDate As String

Dim Fichier As String

mDate = Replace(Format(Date, "dd/mm/yy"), "/", " ")

Fichier = "Tableau de bord appro_" & mDate & ".xls"

Range("A1").Select

Windows("Tableau de bord appro 28 07 2014.xlsx").Activate

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=1, Criteria1:= _

"11222"

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=5, Criteria1:=Array( _

"1", "10", "100", "102", "105", "108", "11", "110", "117", "118", "12", "120", "128", "13", _

"130", "132", "134", "135", "14", "140", "144", "1440", "147", "15", "150", "16", "160", _

"168", "17", "18", "180", "19", "192", "2", "20", "200", "201", "204", "21", "210", "22", _

"23", "24", "246", "25", "252", "26", "27", "28", "280", "288", "3", "30", "300", "308", "32" _

, "33", "330", "336", "34", "35", "36", "37", "39", "4", "40", "42", "420", "432", "44", "45", _

"46", "48", "5", "50", "504", "52", "53", "55", "56", "560", "6", "60", "600", "64", "66", _

"68", "7", "70", "71", "72", "738", "75", "8", "80", "800", "81", "84", "85", "88", "9", "90", _

"92", "96", "98", "99"), Operator:=xlFilterValues

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=6, Criteria1:="<>"

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=7, Criteria1:=Array( _

"1", "1000", "1001", "1008", "1009", "1013", "1020", "1022", "1027", "1030", "1039", _

"1041", "1046", "1059", "1061", "1062", "1072", "1080", "1092", "12", "20", "2000", "21", _

"322", "341", "401", "442", "4898", "869", "879", "899", "965", "966", "967", "978", "980", _

"986", "999"), Operator:=xlFilterValues

Range("B1").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("A1").Select

ActiveSheet.Paste

Windows("Tableau de bord appro 28 07 2014.xlsx").Activate

ActiveWindow.ScrollRow = 21623

ActiveWindow.ScrollRow = 1

Range("D1:F33767").Select

Range(Selection, Selection.End(xlDown)).Select

Application.CutCopyMode = False

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("B1").Select

ActiveSheet.Paste

Columns("D:D").EntireColumn.AutoFit

End Sub

Bien cordialement.

Rebonjour,

C'est super urgent pour moi merci de m'aider svp

Je vous remercie d'avance.

Bonjour à vous,

J'ai lu en diagonale, mais peut-être que l'érreur viens d'ici :

Fichier = "Tableau de bord appro_" & mDate & ".xls"

=>

Fichier = "Tableau de bord appro " & mDate & ".xls"

Bonjour,

Ci dessous mon code à la base et comme je veux appliquer la même macro sur plusieurs fichiers qui ont le même début cad tableau de bord appro et il y a que la date qui change du coup je croyais qu'une simple macro pour masquer la date me suffit.

Sub ESSAI()

'

' ESSAI Macro

'

'

Windows("Tableau de bord appro 28 07 2014.xlsx").Activate

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=1, Criteria1:= _

"11222"

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=5, Criteria1:=Array( _

"1", "10", "100", "102", "105", "108", "11", "110", "117", "118", "12", "120", "128", "13", _

"130", "132", "134", "135", "14", "140", "144", "1440", "147", "15", "150", "16", "160", _

"168", "17", "18", "180", "19", "192", "2", "20", "200", "201", "204", "21", "210", "22", _

"23", "24", "246", "25", "252", "26", "27", "28", "280", "288", "3", "30", "300", "308", "32" _

, "33", "330", "336", "34", "35", "36", "37", "39", "4", "40", "42", "420", "432", "44", "45", _

"46", "48", "5", "50", "504", "52", "53", "55", "56", "560", "6", "60", "600", "64", "66", _

"68", "7", "70", "71", "72", "738", "75", "8", "80", "800", "81", "84", "85", "88", "9", "90", _

"92", "96", "98", "99"), Operator:=xlFilterValues

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=6, Criteria1:="<>"

ActiveSheet.Range("$A$1:$AU$220563").AutoFilter Field:=7, Criteria1:=Array( _

"1", "1000", "1001", "1008", "1009", "1013", "1020", "1022", "1027", "1030", "1039", _

"1041", "1046", "1059", "1061", "1062", "1072", "1080", "1092", "12", "20", "2000", "21", _

"322", "341", "401", "442", "4898", "869", "879", "899", "965", "966", "967", "978", "980", _

"986", "999"), Operator:=xlFilterValues

Range("B1").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("A1").Select

ActiveSheet.Paste

Windows("Tableau de bord appro 28 07 2014.xlsx").Activate

ActiveWindow.ScrollRow = 21623

ActiveWindow.ScrollRow = 1

Range("D1:F33767").Select

Range(Selection, Selection.End(xlDown)).Select

Application.CutCopyMode = False

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("B1").Select

ActiveSheet.Paste

Columns("D:D").EntireColumn.AutoFit

End Sub

Quand j'ai inclus le code ci bas, ça marche toujours pas pour mes autres fichiers avec différentes dates.

Dim mDate As String

Dim Fichier As String

mDate = Replace(Format(Date, "dd/mm/yy"), "/", " ")

Fichier = "Tableau de bord appro_" & mDate & ".xls"

Donc je ne sais pas qu'elle solution il me faut pour appliquer ma macro sur l'ensemble de mes fichers.

CORDIALEMENT.

mon message semble être passé inaperçu :s

si je l'ai lu mais je n'ai pas bien compris qu'est ce que je devrai faire ?

Dans vos noms de fichiers, y a-t-il un espace ou un underscore avant la date ?

oui il y a un espace avant la date.

Tableau de bord appro 22 07 2014

Essai en remplaçant la ligne avant la flèche par la ligne après la flèche dans mon premier message, je pense qu'avec

Fichier = "Tableau de bord appro_" & mDate & ".xls"

le nom de fichier que la macro cherche est par exemple

"Tableau de bord appro_22 07 2014.xls" au lieu de "Tableau de bord appro 22 07 2014.xls"

Bonjour,

à voir :

Fichier = "Tableau de bord appro " & Format(Date, "dd mm yyyy") & ".xls"

eric

Re,

Dans ton message du Mar Juil 29, 2014 12:49 pm, tu fais mention dans la macro postée d'extension XLSX

Si le fichier que tu dois ouvrir est un XLSX, l'instruction que j'ai donnée doit modifiée sans quoi cela ne fonctionnera pas

Remplace

Fichier = "Tableau de bord appro_" & mDate & ".xls"

Par

Fichier = "Tableau de bord appro_" & mDate & ".xlsx"

Autre chose dans le code je vois "Tableau de bord appro 28 07 2014.xlsx" et constate que juste après le mot "appro" tu n'as pas de souligné mais bien un espace alors que dans l'intruction "Fichier = "Tableau de bord appro_" & mDate & ".xls", tu mets un souligné après le mot "Appro".

Attention aussi à tes espaces, au risque de me répéter à nouveau sur ce forum, EVITE les espaces dans les noms de fichier ou feuille. Remplace le par un souligné, de sorte que l'instruction dont je parle ci-dessus deviendrait

Fichier = "Tableau_de_bord appro_" & mDate

Modifie aussi le nom de tes fichiers bien entendu

A te relire

Crdlt

Bonjour,

même en faisant toutes les modifications que vous m'avez suggéré, ma macro ne fonctionne pas quand j'essaie de l'appliquer sur un autre fichier du 29 07 2014 :s et il me met cette phrase en jaune "Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate"

Sub ESSAI()

'

' ESSAI Macro

'

'

Dim mDate As String

Dim Fichier As String

mDate = Replace(Format(Date, "dd mm yyyy"), "/", " ")

Fichier = "Tableau_de_bord_appro_" & mDate & ".xlsx"

Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=1, Criteria1:= _

"11222"

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=5, Criteria1:=Array( _

"1", "10", "100", "102", "105", "108", "11", "110", "117", "118", "12", "120", "128", "13", _

"130", "132", "134", "135", "14", "140", "144", "1440", "147", "15", "150", "16", "160", _

"168", "17", "18", "180", "19", "192", "2", "20", "200", "201", "204", "21", "210", "22", _

"23", "24", "246", "25", "252", "26", "27", "28", "280", "288", "3", "30", "300", "308", "32" _

, "33", "330", "336", "34", "35", "36", "37", "39", "4", "40", "42", "420", "432", "44", "45", _

"46", "48", "5", "50", "504", "52", "53", "55", "56", "560", "6", "60", "600", "64", "66", _

"68", "7", "70", "71", "72", "738", "75", "8", "80", "800", "81", "84", "85", "88", "9", "90", _

"92", "96", "98", "99"), Operator:=xlFilterValues

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=6, Criteria1:="<>"

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=7, Criteria1:=Array( _

"1", "1000", "1001", "1008", "1009", "1013", "1020", "1022", "1027", "1030", "1039", _

"1041", "1046", "1059", "1061", "1062", "1072", "1080", "1092", "12", "20", "2000", "21", _

"322", "341", "401", "442", "4898", "869", "879", "899", "965", "966", "967", "978", "980", _

"986", "999"), Operator:=xlFilterValues

Range("B1").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("A1").Select

ActiveSheet.Paste

Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

ActiveWindow.ScrollRow = 21636

ActiveWindow.ScrollRow = 1

Range("D1:F33787").Select

Range(Selection, Selection.End(xlDown)).Select

Application.CutCopyMode = False

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("B1").Select

ActiveSheet.Paste

Columns("D:D").EntireColumn.AutoFit

End Sub

Merci d'avance.

Re,

Le fichier" Tableau_de_bord_appro_28 07 2014.xlsx"est bien ouvert ?? car si c'est surligné en jaune cela laisse supposer que non

Essaie plutot en remplaçant :

Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

Par

Workbooks("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

A te relire

Bjr,

Ma macro marche quand le fichier Tableau_de_bord_appro_28 07 2014 est ouvert mais quand je veux l'appliquer sur un autre fichier du Tableau_de_bord_appro_29 07 2014 ça ne marche pas

Peut être il faut un autre code pour que ma macro prend en compte seulement le début du nom de mon fichier sans la date.

Sub ESSAI()

'

' ESSAI Macro

'

'

Dim mDate As String

Dim Fichier As String

mDate = Replace(Format(Date, "dd mm yyyy"), "/", " ")

Fichier = "Tableau_de_bord_appro_" & mDate & ".xlsx"

Workbooks("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=1, Criteria1:= _

"11222"

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=5, Criteria1:=Array( _

"1", "10", "100", "102", "105", "108", "11", "110", "117", "118", "12", "120", "128", "13", _

"130", "132", "134", "135", "14", "140", "144", "1440", "147", "15", "150", "16", "160", _

"168", "17", "18", "180", "19", "192", "2", "20", "200", "201", "204", "21", "210", "22", _

"23", "24", "246", "25", "252", "26", "27", "28", "280", "288", "3", "30", "300", "308", "32" _

, "33", "330", "336", "34", "35", "36", "37", "39", "4", "40", "42", "420", "432", "44", "45", _

"46", "48", "5", "50", "504", "52", "53", "55", "56", "560", "6", "60", "600", "64", "66", _

"68", "7", "70", "71", "72", "738", "75", "8", "80", "800", "81", "84", "85", "88", "9", "90", _

"92", "96", "98", "99"), Operator:=xlFilterValues

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=6, Criteria1:="<>"

ActiveSheet.Range("$A$1:$AU$220682").AutoFilter Field:=7, Criteria1:=Array( _

"1", "1000", "1001", "1008", "1009", "1013", "1020", "1022", "1027", "1030", "1039", _

"1041", "1046", "1059", "1061", "1062", "1072", "1080", "1092", "12", "20", "2000", "21", _

"322", "341", "401", "442", "4898", "869", "879", "899", "965", "966", "967", "978", "980", _

"986", "999"), Operator:=xlFilterValues

Range("B1").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("A1").Select

ActiveSheet.Paste

Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

ActiveWindow.ScrollRow = 21636

ActiveWindow.ScrollRow = 1

Range("D1:F33787").Select

Range(Selection, Selection.End(xlDown)).Select

Application.CutCopyMode = False

Selection.Copy

Windows("OUTIL SUIVI DES RECEPTIONS.xlsx").Activate

Range("B1").Select

ActiveSheet.Paste

Columns("D:D").EntireColumn.AutoFit

End Sub

Cordialement

Soukaina.

re

Lorsque tu exécutes ta macro, il n'y a qu'un seul fichier qui comporte le mot "Tableau_de_bord_........" avec la date ???

Aussi est-il possible d'avoir deux fichiers ouverts et comportant le nom "Tableau_de_bord_......" ?

Merci de ta réponse

Bonjour Dan,

Bien sur que je laisse ouvert qu'un seul fichier et pas les deux à la fois.

Cordialement.

Re,

Essaie en remplaçant :

Dim mDate As String
Dim Fichier As String
mDate = Replace(Format(Date, "dd mm yyyy"), "/", " ")
Fichier = "Tableau_de_bord_appro_" & mDate & ".xlsx"
Workbooks("Tableau_de_bord_appro_28 07 2014.xlsx").Activate

Par

Dim wk As Workbook
For Each wk In Workbooks
    If Left(wk.Name, 22) = "Tableau_de_bord_appro_" Then Workbooks(wk.Name).Activate: Exit For
Next

On peut encore améliorer le code plus bas...

Utilise les balises Code lorsque tu postes un code sur le forum

A te relire

Bonjour Dan,

J'ai essayé tes instructions mais ça ne marche pas parce que sur la suite du code il y a "Windows("Tableau_de_bord_appro_28 07 2014.xlsx").Activate" donc il faut la remplacer par quoi pour que la macro s'applique.

Je m'excuse de ne pas répondre si tôt.

Bien cordialement

soukaina

Rechercher des sujets similaires à "appliquer macro personnelle classeurs"