Macro qui s'effectue sur plusieurs fichiers .xlsx en même temps
Résolu/Fermé
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
-
23 mars 2016 à 17:50
bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 - 29 mars 2016 à 19:58
bassmart Messages postés 281 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 19 décembre 2023 - 29 mars 2016 à 19:58
A voir également:
- Macro qui s'effectue sur plusieurs fichiers .xlsx en même temps
- Renommer plusieurs fichiers en même temps - Guide
- Comment ouvrir un fichier xlsx ? - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier xlsx - Télécharger - Tableur
- Blocage agriculteur carte en temps réel - Accueil - Transports & Cartes
1 réponse
f894009
Messages postés
17225
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 janvier 2025
1 712
23 mars 2016 à 19:51
23 mars 2016 à 19:51
Bonjour,
Macro qui s'effectue sur plusieurs fichiers .xlsx en même temps
Ce sera toujours un fichier a la fois, un apres l'autre
Macro qui s'effectue sur plusieurs fichiers .xlsx en même temps
Ce sera toujours un fichier a la fois, un apres l'autre
Private Sub CommandButton1_Click() Dim nombre As Integer Dim Motdepasse As String Dim QuelFichier() Dim Chemin As String, Fichier As String 'If Not Application.Dialogs(xlDialogOpen).Show("M:\Entrepot\BDFS\1_Piézomètres") Then Exit Sub ChDrive "m" ChDir "M:\Entrepot\BDFS\1_Piézomètres\" QuelFichier = Application.GetOpenFilename(, , , , True) If IsArray(QuelFichier) Then For i = LBound(QuelFichier, 1) To UBound(QuelFichier, 1) Workbooks.Open QuelFichier(i) '------------------------------------------- Application.ScreenUpdating = False nombre = ActiveWorkbook.Sheets.Count For n = 2 To nombre Worksheets(n).Unprotect Next n For x = 2 To Sheets.Count - 1 With Sheets(x) Sheets(x).Select Columns("E:O").Select Selection.EntireColumn.Hidden = False derlig = .Range("F" & Rows.Count).End(xlUp).Row For n = 2 To derlig If .Range("D" & n) <> "" Then If .Range("A" & n) <> "" Then TInfos = .Range("A" & n & ":C" & n) Else .Range("A" & n & ":C" & n) = TInfos End If End If Next n Sheets(x).Range("A2").Select End With Next x nombre = ActiveWorkbook.Sheets.Count For n = 2 To nombre Worksheets(n).Protect Next n Chemin = "M:\Entrepot\BDFS\1_Piézomètres\" Fichier = "Nomclasseur_" & Format("traité") & ".xlsx" ActiveWorkbook.SaveCopyAs Chemin & Fichier '------------------------------------------- Next i Else MsgBox "Annuler" End If UserForm1.Hide 'Application.Dialogs(xlDialogSaveAs).Show ("M:\Entrepot\BDFS\1_Piézomètres\") ThisWorkbook.Saved = True Application.ScreenUpdating = True 'UserForm2.Show End Sub
24 mars 2016 à 12:46
Tout fonctionne bien jusqu'au moment de la sauvegarde. Il ne sauvegarde pas automatiquement, il ouvre tous mes fichiers et effectue l'opération de copie et d'affichage des colonnes masqués très bien et après plus rien ne se passe. Normalement, il devrait sauvegarder tous mes fichiers un à un.
24 mars 2016 à 13:10
Ben, ça se situe au niveau de la ligne Fichier=, y a un truc avec format que je peux savoir puisque je n'ai pas vos fichiers !!!!!!!!!!!!!!
24 mars 2016 à 13:51
Sur la ligne Fichier, je voulais qu'il sauve en ajoutant le terme traité dans le nouveau nom du fichier sauvegardé. C'est pourquoi, j'ai inscrit Format("Traité"), mais probablement que ce n'est pas la bonne manière de l'écrire.
24 mars 2016 à 14:31
http://www.cjoint.com/c/FCynDUsRE2o
25 mars 2016 à 08:42
Fichier modifie pour nom classeur_traite
https://www.cjoint.com/c/FCzhQwtprvf