erreur d'execution 1004

A

amel

Guest
Re le forum!

je suis confronté à une erreur d'execution 1004 : la methode select de la classe range a ecHoué...

Worksheets('2005').Select
Range('A1').Offset(2, 3).Select
Selection.Paste
 
A

amel

Guest
Re le forum, slaut Hellboy,
voici donc le code...


Sub ref_month_janv5()

'garde le mois voulu janvier 2005
For x = 100 To 3 Step -1
If Format(CStr(cells(x, 1).Value), 'mmm-yy') <> 'janv-05' Then
cells(x, 1).EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Next x

'calcul du nb ATO
Range('AE2').Select
Range('AE2').End(xlDown).Offset(1, 0).Value = '=SUM(AE2:' & Range('AE2').End(xlDown).Address & ')'
Range(ActiveCell, ActiveCell.End(xlToLeft)).Select
Selection.Copy
Worksheets('2005').Select
Range('A1').Offset(2, 3).Select
ActiveSheet.Paste


End Sub
 

Hellboy

XLDnaute Accro
re

essaie ceci:

Worksheets('2005').select
Worksheets('2005').Range('A1').Offset(2, 3).Select

Robert pourrait-peurt être confirmer, je crois aussi qu'il faut utiliser
Worksheets('2005').activate pour la ligne
activesheet.paste

et je crois aussi que remplacer Worksheets('2005').select par
Worksheets('2005').activate serais favorable.

Message édité par: Hellboy, à: 11/07/2005 16:25
 
A

amel

Guest
Re le forum,
Hellboy: ça effectue bien la manip mais pas comme je le voudrais, ça copie la cellule A1, et non le resultat du calcul effectué :
Range('AE2').End(xlDown).Offset(1, 0).Value = '=SUM(AE2:' & Range('AE2').End(xlDown).Address & ')'
Range(ActiveCell, ActiveCell.End(xlToLeft)).Select
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil,

J'avais encore des bug alors je te porpose ça pour la deuxième partie de la macro:


'calcul du nb ATO
Range('AE2').End(xlDown).Offset(1, 0).Formula = '=SUM(AE2:AE' & Range('AE2').End(xlDown).Row & ')'
Range(Range('AE2'), Range('AE2').End(xlToLeft)).Copy
Worksheets('2005').Select
Range('D3').Select
ActiveSheet.Paste
 

Hellboy

XLDnaute Accro
re le fil

Range('AE2').End(xlDown).Offset(1, 0).Formula = '=SUM(AE2:AE' & Range('AE2').End(xlDown).Row & ')'

Range(Range('AE2'), Range('AE2').End(xlToLeft)).Copy Destination:=Worksheets('2005').Range('D3')

Tu peux faire la copie directemenrt de l'endroit ou tu te trouve sans devoir faire l'action de sélectionner une feuille différente.

bonne journée amel et Robert
 
A

amel

Guest
re hellboy
ben justement le point sensible de situe la: dans la colonne D j'ai un certain nombre de 0 et de 1 (1 chiffre par cellule) dont je ne connais pas le nombre de cellule pleine dans la colonne D au total..dans la 1ere cellule vide de la colone D, je compte le nombre de '1' contenu dans la colonne D et cette dernière cellule (celle qui contient la somme des 1) est copié et collé dans la cellule(2,3) d'une autre feuille..
:woohoo:
 

Discussions similaires