Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
704 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro pour enregister le classeur et le fermer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

macro pour enregister le classeur et le fermer

n°2076923
Dimi83
Posté le 18-05-2011 à 20:35:06  profilanswer
 

Bonjour,
je dois faire du traitement de données d'expérience sous excel 2010et j'aimerais automatiser la manip.
 
ma macro doit ouvrir un premier fichier A.DAT en m'ouvrant la fenêtre de dialogue "Ouvrir"
y récupérer le contenu de quelques cellules et les recopier dans la feuille qui sert de modèle pour traiter les données,
refermer le fichier A.DAT,  
puis ouvrir un deuxième fichier BA1.DAT (qui se trouve dans un autre répertoire :"dossier de données" ) pour y récupérer des données à copier dans le modèle
puis fermer le fichier BA1,
ouvrir un fichier "modèle résultats" ( que je dois avoir ouvert au préalable j'imagine) pour y coller un récapitulatif des résultats
enregistrer ceux-ci sous le nom du fichier "B" "résultats" avec l'extension XLS cette fois-ci (expl: B_résultats.xls),
refermer et recommencer l'opération avec le fichier BA"et un chiffre entre 1 et 27".DAT suivant dans le répertoire (expl: BA3.DAT ; BA21.DAT ; BA12.DAT) et ainsi de suite tant qu'il y a des fichiers BA"et un chiffre entre 1 et 27".DAT dans le répertoire , sinon revenir au début de la macro jusqu'à ce que tous les fichiers .DAT du répertoire :"dossier de données"soit traités.
 
Suis-je claire ? Pouvez-vous m'y aider ?
 

mood
Publicité
Posté le 18-05-2011 à 20:35:06  profilanswer
 

n°2076932
kiki29
Posté le 18-05-2011 à 21:36:20  profilanswer
 

Salut,pour cela tu as l'enregistreur de macros puis une optimisation manuelle à faire

n°2076968
Dimi83
Posté le 19-05-2011 à 01:35:09  profilanswer
 

e vous donne ce que j'ai réussi à faire grâce à l'enregistreur de macro et quelques modifs avec ce que j'ai trouvé sur le net :
Sub recup_val()
'
' recup_val Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+C
Application.ScreenUpdating = False
ChDir ("D:\Mes documents\Cours master 1\mémoire2\dossier de traitement des données brutes\fichiers de données brutes" )
Application.Dialogs(xlDialogOpen).Show
Range("AB1:AE2" ).Select
Selection.Copy
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("A1" ).Select
ActiveSheet.Paste
Windows("modèle condition 2 données brut.xlsm" ).Activate
ChDir ("D:\Mes documents\Cours master 1\mémoire2\dossier de traitement des données brutes\condition 2" )
Application.Dialogs(xlDialogOpen).Show
Range("A2:C7" ).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("A8" ).Select
ActiveSheet.Paste
Range("A7:A8" ).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("B7:B8" ).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("C7:C8" ).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Range("B9" ).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("C9" ).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("A9" ).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("V7" ).Select
End Sub
Sub sauv_traitement()
'
' sauv_traitement Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+S
'
Range("A9:C9" ).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Workbooks.Open Filename:= _
"D:\Mes documents\Cours master 1\mémoire2\modèles\modèle feuille de résultats condition 2.xlsx"
Range("B9" ).Select
ActiveSheet.Paste
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("R11:W11" ).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("modèle feuille de résultats condition 2.xlsx" ).Activate
Range("F11" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("R7:U7" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("modèle feuille de résultats condition 2.xlsx" ).Activate
Range("E6" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("Y6:Y8" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("modèle feuille de résultats condition 2.xlsx" ).Activate
Range("K4" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("modèle condition 2 données brut.xlsm" ).Activate
Range("V9" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("modèle feuille de résultats condition 2.xlsx" ).Activate
Range("K7" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
CommandBars.FindControl(ID:=748).Execute
End Sub
Sub macro_Condition_2()
Application.ScreenUpdating = False
Application.Run "recup_val_croix"
Application.Run "sauv_traitement"
End Sub
Merci ...


Message édité par Dimi83 le 20-05-2011 à 19:44:27
n°2077324
Dimi83
Posté le 20-05-2011 à 11:30:50  profilanswer
 

Personne ne peut m'aider à améliorer cette macro ?  
Je précise que je n'y connais rien en programmation que ce soit VBA ou n'importe quel autre langage.

n°2077516
Dimi83
Posté le 22-05-2011 à 01:31:06  profilanswer
 

macro résolue


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  macro pour enregister le classeur et le fermer

 

Sujets relatifs
CREATION Macro CATIA sous UNIX type .CATVBA[VBA] Macro Introuvables/Inactives, pourtant ça tourne....Excel 2010
Ouverture classeur Excel mais pas de retourMacro VBA sous excell et fonction RTD
macro VBA sous excell 2000 probleme avec excell 2007VBA et macro
Macro excel en fonction d'un choix dans le classeurexcel remplacement nom dans macro
macro excel nom classeur dans cellule 
Plus de sujets relatifs à : macro pour enregister le classeur et le fermer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR