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").ActivatePar
Workbooks("Tableau_de_bord_appro_28 07 2014.xlsx").ActivateA 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").ActivatePar
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
NextOn 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