Macro sous Excel, où est le prob ?

Fermé
spip - 2 déc. 2007 à 23:06
 Matrix - 14 déc. 2007 à 10:07
Bonjour,

J'ai fait une demande sur un autre forum à propos d'un calcul particulier que je voulais faire sous excel. Une personne m'a alors "écrit" une macro qui reproduit ce calcul. Le premier problème, c'est que la restriction qu'il a mise à cette macro est trop basse. Je lui en ai fait par, mais aucune réponse. J'ai donc voulu "remonter" cette restriction moi même, mais excel s'obstine à m'écrire ce message : "Erreur 1004" et me propose soit de mettre Fin soit de passer au débogage.
Je fais donc cette dernière "option" et il me souligne en jaune la ligne suivante (ligne que j'avais modifiée pour rémonter la restriction) :

Range(Dest, Dest.Offset(IIf(L <= 250000, L - 1, 249999), 4)) = WorksheetFunction.Transpose(Tablo)

En fait, à la place de 250 000, l'auteur de cette macro avait mis 65520.

Je voudrais donc savoir où est le problème, pourquoi Excel n'exécute pas la macro ?

D'avance merci pour vos réponses.
A voir également:

4 réponses

une feuille excel ne peut pas avoir 250000 ligne -> ton range est incorrect
0
la limite de Excel est 2^16 = 65536
0
Bonsoir,

Dans ce cas, comment est-ce que je peux faire pour qu'il place les résultats sur une autre colonne ?

D'avance merci pour vos réponses
0
En fait, tu veux calculer la transposée d'un tableau dont le nombre des lignes est inconnu et de 4 colonnes. Donc si ton tableau a plus de 65000 lignes, il n'entre pas sur une feuille XLS. Alors, fraction ton tableau et decompose la transposée.

Sinon, tu remplances
IIf(L <= 250000, L - 1, 249999)
par
Range(Dest).End(xlDown).Row
ou
Range(Dest).Rows.Count

P.S: toutes le lignes du tableau doivent avoir un chiffre, sinon seule la première plage continue est prise en compte - si tu as un ligne vide au milieu du tableau
0