Problèmes de saturation !!!

glaine

XLDnaute Junior
Bonjour à tous,
Merci avant tout pour toutes aides éventuellement apportées.
J'ai commencé à écrire un programme dont le but de comptabiliser les occurrences distinctes d'une colonne et de placer le résultat dans une autre colonne.
Code:
Sub nbre_de_joursaisie()
Dim vListe1Début As String, vListe2Début As String
Dim vcellule
Sheets(1).Select
vListe1Début = "L2"
vListe2Début = "K2"
For Each vcellule In Range(Sheets(1).Range(vListe1Début), Sheets(1).Range(vListe1Début).End(xlDown))
    If vcellule < 1 / 1 / 2009 Then
     Sheets(1).Range(vListe2Début).Select
     ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT(1/COUNTIF(RC[1]:R[2827]C[1],RC[1]:R[2827]C[1]))"
     Else
     MsgBox (" c'est faux ")
     Exit Sub
    End If
Next
End Sub
Mon problème est que dès que je lance le programme, Excel plante et je ne vois pas trop comment réécrire mon programme pour que moins de ressources soient sollicitées et où éventuellement, j'ai pu commettre une erreur.
Merci encore pour vos éclairages.
 

Pierrot93

XLDnaute Barbatruc
Re : Problèmes de saturation !!!

Bonsoir,

je ne comprends pas trop ceci :

Code:
If vcellule < 1 / 1 / 2009 Then

si tu veux tester une date :

Code:
If vcellule < #1/1/2009# Then


peut être également modifier le début de ta boucle ainsi :

Code:
For Each vcellule In Sheets(1).Range("L2:L" & Sheets(1).Range("L65536").End(xlUp).Row)

bonne soirée
@+

Edition : j'ai rajouté l'index de la feuille au cas où celle ci ne serait pas la feuille active...
 

pierrejean

XLDnaute Barbatruc
Re : Problèmes de saturation !!!

bonjour glaine

Un petit fichier exemple serait plus pratique pour t'aider
Toutefois en 1ere approximation regarde du coté de

Code:
If vcellule < 1 / 1 / 2009 Then

1 divisé par 2009 ce n'est pas beaucoup !!!

Edit: Salut Pierrot :)
 

Roland_M

XLDnaute Barbatruc
Re : Problèmes de saturation !!!

bonjour à tous

essai comme ceci !? (si toutefois comme nous le pensons il s'agit d'une date !)
bien que je comprenne pas le sens de ta boucle car tu copies
toujours dans la même cellule K2 !?
ne dois tu pas continuer K3 K4 !?
auquel cas il faut rajouter un compteur Lig
Dim Lig As Long
et init > Lig = 1
et si test Ok > Lig = Lig + 1
et > Sheets(1).Range("K" & Lig).FormulaR1C1 = . . .

Code:
Sub nbre_de_joursaisie()
Dim vCellule As Range, FindDate As Date
FindDate = "01/01/2009"
For Each vCellule In Sheets(1).Range("L2:L" & Sheets(1).Range("L65536").End(xlUp).Row)
    If IsDate(vCellule) And vCellule < FindDate Then
       Sheets(1).Range("K2").FormulaR1C1 = "=SUMPRODUCT(1/COUNTIF(RC[1]:R[2827]C[1],RC[1]:R[2827]C[1]))"
    Else
       MsgBox "c'est faux !": Exit Sub
    End If
Next
End Sub
 

glaine

XLDnaute Junior
Re : Problèmes de saturation !!!

Merci à tous pour vos excellentes réponses. Comme vous l'aviez deviné, il s'agit bien d'une date, ma bévue était tellement énorme qu'évidemment, je ne l'avais pas vue. Néanmoins, j'ai corrigé ma macro rapidement et la saturation reste là. Je pense que le problème est lié à ma fonction de calcul sommeprod. Autrement pour répondre à Pierre Jean, quelqu'un pourrait-il me donner la démarche à suivre pour envoyer un petit fichier d'exemple sans créer de soucis ??? Je pense que cela pourra éclairer sur mes soucis pour la suite de mon application. Le but final est de produire des données récupérables par un TCD. Merci encore.
Cordialement
 

glaine

XLDnaute Junior
Re : Problèmes de saturation !!!

J'ai essayé de corriger ma macro en m'inspirant de ce qu'avait fait Roland. Le problème persiste, mais je reste admiratif sur sa manière de faire quand je compare à ce que j'ai fait. Je joins aussi un bout de fichier. Seules les premières cellules 2008 et 2009 doivent rester avec des formules, le reste à 0. Le but est d'avoir sur un TCD tant de valeurs de jours de saisie pour 2008, tant pour 2009.
J'en suis donc à coller uniquement une formule pour la première cellule. J'espère aussi ne pas avoir commis d'impairs avec ma pièce jointe, dans le cas contraire, je m'en excuse auprès de l'administrateur.
Cordialement
 

Pièces jointes

  • Classeur2.xls
    19.5 KB · Affichages: 51
  • Classeur2.xls
    19.5 KB · Affichages: 59
  • Classeur2.xls
    19.5 KB · Affichages: 59
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 799
Messages
2 092 220
Membres
105 295
dernier inscrit
nroch