Selection d'une plage de dates...

tiankoo

XLDnaute Nouveau
Bonjour à tous.

Voila mon problème:
J'ai un fichier composé d'une colonne avec des dates et d'une deuxième avec des chiffres quelconques, je voudrais pouvoir faire la somme des chiffres entre deux dates distinctes.
Par exemple mon fichier est composé de dates qui vont du 16/06/2011 au 30/06/2011.
Je voudrais pouvoir rentrer deux dates, ex 22/06/2011 et 26/06/2011 et que le programme me retourne la somme des cellules comprise entre ces lignes.

Merci d'avance pour votre aide, et bonne journée à tous.!
 

Pièces jointes

  • Dates2.zip
    12.2 KB · Affichages: 38
  • Dates2.zip
    12.2 KB · Affichages: 38
  • Dates2.zip
    12.2 KB · Affichages: 40

tiankoo

XLDnaute Nouveau
Re : Selection d'une plage de dates...

Bonjour,
J'ai changé ma macro pour qu'elle puisse s'appliquer a une plage de cellule variable.
Il y a deux macro différentes, l'initial qui marche bien et la nouvelle qui a un bug..
Je pense que c'est cette formule qui bug :

Range("G2", [G65000].End(xlUp)).Select

Vraiment dsl pour insistance mais c'est vraiment important pour moi.
Merci d'avance
 

Pièces jointes

  • dernier date.xls
    62 KB · Affichages: 41
  • dernier date.xls
    62 KB · Affichages: 44
  • dernier date.xls
    62 KB · Affichages: 45

tiankoo

XLDnaute Nouveau
Re : Selection d'une plage de dates...

Bonjour,
Le problème est que moi aussi je suis sur 2003 et normalement cette formule marche bien...!
Le bug intervient a la ligne :
Selection.AutoFill Destination:=Range("AI2", [AI65000].End(xlUp)), Type:=xlFillDefault
"La méthode autoFill de la classe Range a échoué"

Ma macro marche elle chez vous.?
Pouvez vous rentrer les dates dans les cellules AG1 et AG2 .?
Merci a tous pour votre aide.!
Bonne soirée
 

tiankoo

XLDnaute Nouveau
Re : Selection d'une plage de dates...

Re-Bonjour,
Voila ce qu'on me dis t, mais ça ne m'aide pas du tout, je ne suis pas vraiment doué en VBA, j'avance a taton...


AutoFill, méthode
Voir aussi S'applique à Exemple Spécificités
Cette méthode effectue une recopie incrémentée dans les cellules de la plage spécifiée. Variant.

expression.AutoFill(Destination, Type)

expression Obligatoire. Expression qui renvoie un des objets répertoriés dans la liste S'applique à.

Destination Objet Range obligatoire. Les cellules à remplir. La destination doit inclure la plage source.

Type Argument XlAutoFillType facultatif. Indique le type de recopie.

XlAutoFillType peut être l'une de ces constantes XlAutoFillType.
xlFillDays
xlFillFormats
xlFillSeries
xlFillWeekdays
xlGrowthTrend
xlFillCopy
xlFillDefault default
xlFillMonths
xlFillValues
xlFillYears
xlLinearTrend
Si vous affectez à cet argument la valeur xlFillDefault ou que vous ne le spécifiez pas, Microsoft Excel sélectionne le type de recopie le plus approprié en fonction de la plage source.

Exemple
Cet exemple montre comment exécuter une recopie incrémentée dans les cellules A1 à A20 de la feuille Sheet1, à partir de la plage source A1:A2 située dans la feuille Sheet1. Avant d'exécuter cet exemple, tapez 1 dans la cellule A1 et 2 dans la cellule A2.

Set sourceRange = Worksheets("Sheet1").Range("A1:A2")
Set fillRange = Worksheets("Sheet1").Range("A1:A20")
sourceRange.AutoFill Destination:=fillRange
 

Staple1600

XLDnaute Barbatruc
Re : Selection d'une plage de dates...

Bonjour le fil


Si je ne m'abuse la colonne AI est vide

Donc il faut se baser sur le numéro de ligne de la dernière cellule non vide
(qui se trouve en colonne J : J79)

Et modifier en conséquence ou ne pas utiliser Autofill

Code:
Range("AI2:AI" & [J65536].End(xlUp).Row).FormulaR1C1 = "=DATEVALUE(RC7)"

EDITION: je ne parle pas des colonnes masquées
car dans ce cas, c'est X79
 
Dernière édition:

tiankoo

XLDnaute Nouveau
Re : Selection d'une plage de dates...

RE-RE-Bonjour,
Bon j'ai encore un soucis avec ma macro car elle ne prend toujours pas toutes les colonnes en compte et je ne sais pas comment résoudre le problème...

Code:
Sub Macro3()

   Range("AG3").Select
    ActiveCell.FormulaR1C1 = "=SUMPRODUCT((Dates>=R1C33)*(Dates<=R2C33)*Donnees)"
  
    Range("AI2").Select
    ActiveCell.FormulaR1C1 = "=DATEVALUE(RC7)"
    
    'Range("AI2").Select
    'Selection.AutoFill Destination:=Range("AI2", [AI65000].End(xlUp)), Type:=xlFillDefault
    Range("AI2:AI" & [J65536].End(xlUp).Row).FormulaR1C1 = "=DATEVALUE(RC7)"
    Range("AI2", [AI65000].End(xlUp)).Select
    Selection.Copy
  
    Range("G2", [G65000].End(xlUp)).Select
    
    Range("G65536").End(xlUp).Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.Names.Add Name:="Dates", RefersToR1C1:="=A4COUL2!R2C7:R79C7"
    
    Range("S2", [S65000].End(xlUp)).Select
    Range("S65536").End(xlUp).Activate
    ActiveWorkbook.Names.Add Name:="Donnees", RefersToR1C1:="=A4COUL2!R2C10:R79C10"
        
    Columns("AI:AI").Select
    Selection.ClearContents
    
End Sub


Je pense que c'est a cause des ligne : A4COUL2!R2C10:R79C10 et A4COUL2!R2C7:R79C7, mais je ne sais pas comment nommer ces céllules de façon variable...


Je vous envois un exemple en fichier joint..!
Merci d'avance et bon weekend a tous
 

Pièces jointes

  • dernier date.xls
    95 KB · Affichages: 39
  • dernier date.xls
    95 KB · Affichages: 37
  • dernier date.xls
    95 KB · Affichages: 40

Discussions similaires

Réponses
15
Affichages
1 K

Statistiques des forums

Discussions
312 845
Messages
2 092 770
Membres
105 531
dernier inscrit
Fidele Lebeni