BiGOuF
Messages postés90Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention12 décembre 2007
-
13 juin 2007 à 13:32
BiGOuF
Messages postés90Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention12 décembre 2007
-
14 juin 2007 à 13:13
Bonjour à toutes et à tous,
Je vous soumet ici un problème fort embettant.
Je dois, via une macro(Office 2003) copier le contenu de certaines parties d'une sheet d'un autre fichier excel dans une de mes Sheet, et il me fait une erreur de Range("").selection , je m'explique.
Chaque jour, un fichier est généré (il contient plusieures sheet), et je voudrai donc que ma macro, à la fin du mois, me permettent de faire un résumé mensuel, et pour ce, il doit aller ouvrir le fichier de chaque jour, ouvrir la sheet adéquate, et séléctionner certaines cellules de cette sheet, pour les rassembler dans une sheet unique.
J'ai donc, pour m'aider (je suis débutant), enregistré une macro me permettant de faire la manipulation pour un fichier, que j'ai implémenté dans une boucle For, me permettant ainsi de fonctionner pour chaque mois.
Voici donc mon code
Private Sub cmd_executer_copies_Click()
annee = Range("B2")
mois = Range("C2")If mois "01" Or mois "03" Or mois = "05" Or mois = "07" Or mois = "08" Or mois = "10" Or mois = "12" Then
jours = 31
ElseIf mois = "02" Then If annee Mod 100 0 And annee Mod 400 0 Then
jours = 29
ElseIf annee Mod 100 <> 0 And annee Mod 4 = 0 Then
jours = 29
Else: jours = 28
End If
Else
jours = 30
End If
For i = 1 To jours
If i < 10 Then
j = "0" & i
Else
j = i
End If
ChDir "Z:\Opl_cs" & annee & "\Reports\Comparison_Markets_New" & annee & "-" & mois & ""
Workbooks.Open Filename:= _
"Z:\Opl_cs" & annee & "\Reports\Comparison_Markets_New" & annee & "-" & mois & "\Comp_Mark_" & annee & mois & j & ".XLS"
Sheets("Données").Select
Range("A1").Activate
Range("A1:A26,H1:K26").Select '<---Endroit où se situe l'erreur'1004' La méthode Select de la classe Range à échoué
Range("H1").Activate
Selection.Copy
Windows("Copies.xls").Activate
Range("A" & i * 26 + 2 & "").Paste
Windows("Comp_Mark_" & annee & mois & j & ".XLS").Close
Next i
End Sub
Je vous remercie d'avance si vous pouvez m'aider à résoudre ce problème :)
PS : Le code n'est pas parfait, mais il s'agit d'un premier jet.
BiGOuF
Messages postés90Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention12 décembre 2007 14 juin 2007 à 13:13
Bon, ben ca fonctionne.
Après moulte chipotage et rectification, le programme semble tourner.
Je te remercie pour ta patience et ta grande participation à la correction de ma macro.