mona147
Messages postés4Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention21 octobre 2008
-
21 oct. 2008 à 13:06
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDerniè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
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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 ...
mona147
Messages postés4Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention21 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
mona147
Messages postés4Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention21 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 !
mona147
Messages postés4Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention21 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
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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