Erreur 400 ou dépassement de capacité

Résolu
mona147 Messages postés 4 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 21 octobre 2008 - 21 oct. 2008 à 13:06
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 21 oct. 2008 à 17:53
Bonjour,

J'ai un souci avec le code suivant, qui fonctionne mais me retourne une erreur 400 quand je ne précise pas les types de mes variables et qui me retourne une erreur de dépassement de capacité quand je les déclare en Integer.
je les ai donc déclaré en long, ou autre, et je reviens à une erreur 400.

En testant mon code petit à petit, j'ai trouvé que l'erreur venait quand je mets le deuxième n=n+1 , après le loop.(alors qu'il est primordial à la réussite du code, mais vb n'aime pas). Avez vous eu des cas similaire ? ou mon code peut il être optimisé ? merci d'avance !!

Dim P
    Dim j
    Dim k AsInteger
    Dim n AsInteger
    Dim compt
    Dim derligne
    Dim c
   
    j = 2
    k = ActiveCell.Row + 1
    n = ActiveCell.Row + 1
    c = ActiveCell.Column
 
    derligne = Cells(65536, c).End(xlUp).Row
   
 
    For P = 1To derligne
 
            compt = 1
                    
          If Sheets(1).Cells(k, c).Value = Sheets(1).Cells(k + 1, c).ValueThen
                 
                  DoWhile(Sheets(1).Cells(n, c).Value = Sheets(1).Cells(n + 1, c).Value)
                    compt = compt + 1
                    n = n + 1
                   
                  Loop
                          
            Sheets(2).Range("B" & j).Value = compt
              n = n + 1
               j = j + 1
               k = n + 1
              
           EndIf
       
             
            If Sheets(1).Cells(k, c).Value <> Sheets(1).Cells(k + 1, c).Value    Then
 
                   k = k + 1
            EndIf
 
                 
    Next

Jenny

7 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
21 oct. 2008 à 16:11
k augmente, on ne sait pas ce que contient l, on peut vite dépasser simplement le nombre de lignes....
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
21 oct. 2008 à 13:22
topic déplacé de VB6 vers VBA
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
21 oct. 2008 à 14:19
Bonjour,

Commence par typer tes variables de manière spécifique (certainbes, non typées, sont des Variant), en fonction de leur valeur attendue.et du maximum possible.


Si tu as toujours une erreur, rentre dans le debug et dis-nous sur quelle ligne elle est dénoncée ...
0
mona147 Messages postés 4 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 21 octobre 2008
21 oct. 2008 à 15:39
J'ai toujours l'erreur 400 même après avoir bien typer mes variables. en fait, la macro marche impécable, sauf qu'à la fin elle me met une erreur 400, sans message, sans ligne spéciale d'erreur ... et j'ai parfois une erreur 1004. Je ne comprend pas comment ma macro peut s'éxecuter completement et me retourner quand même une erreur, qu'elle n'arrive pas à m'expliquer !

Jenny
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mona147 Messages postés 4 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 21 octobre 2008
21 oct. 2008 à 16:46
En effet, si je bloque ma boucle for jusqu' à 15 et non jusqu'à la fin des lignes lues (derligne), ben ça marche nikel. A voir avec un fichier plus gros... En tout cas, je te remercie BEAUCOUP pour cette piste ! je referai surement appel à ce site, j'ai plein de macro à developper !

Merci encore pour la disponibilité et la recherche !

Jenny
0
mona147 Messages postés 4 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 21 octobre 2008
21 oct. 2008 à 17:21
je rencontre quand même ce soucis quand mon fichier devient un peu trop long, et les fichiers finaux seront longs .. faut il que je retravaille mes boucles pour éviter de dépasser les lignes ? je ne vois pas trop comment ... an idea ?
Jenny
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
21 oct. 2008 à 17:53
à toi d'empêcher k d'être supérieure à derligne. te reste à voir si c'est un facteur pour quitter la routine (exit sub) ou de faire une opération particulière. un simple if pour ce faire 
0