Depassement de capacité

Yass

XLDnaute Nouveau
Bonjour,

Je me permets de poster car je rencontre un problème de dépassement de capacité sous Excel 2003.
Je sais que ce problème est souvent traité et j'ai même fais une recherche sur le forum, et, en général il suffit de remplacer "Integer" par "Long" dans la déclaration de la varible posant problème, mais avec moi cela ne fonctionne pas, vous comprendrez sans doute pourquoi par la suite...

Je vous explique mon problème.
Avant tout, je vous précise que je travaille avec du Visual Basic.
Je dispose d'un fichier Excel de plusieurs feuilles, et, je souhaite copier des données de deux feuilles sur une autre. Je commence par recopier les données de la première feuille, puis, à la suite, les données de la deuxième feuille. (pour information, il y a environ 640 lignes à copier en tout (feuille 1 + feuille 2)...)
Mais je souhaite recopier ces données en copiant des lignes de 4 colonnes. En gros, je souhaite copier les lignes A1: D1, A2: D2, A3: D3 et ainsi de suite.... et les coller sur la deuxième feuille.
Me comprenez vous ?

J'ai donc codé cela ainsi (je vous met juste la boucle qui pose problème, c'est à dire celle qui se charge du copiage des données de la deuxième feuille à la suite de celles déjà copiées de la première feuille... D'où le "J2" = nb de ligne de la première feuille...) :
Code:
Dim valeur1 As Variant
For m = 2 To nbligne2 + 1

    Application.Goto Reference:="feuille_1_projet"
    valeur1 = Range("A" & m, "D" & m).Value
    Application.Goto Reference:="feuille_2_Projet"
    Range("A" & J2 + m, "D" & J2 + m).Value = valeur1
    
Next

Au début tout se passe bien, cela fonctionne très bien, c'est-à-dire que les données de la deuxième feuille se copient bien comme il faut mais à un moment (environ à la 200ème ligne sur 400 environ), cela ne fonctionne plus...
Et j'obtiens cette erreur :
Code:
Erreur d'exécution '6':
Dépassement de capacité
sur cette ligne :
Code:
valeur1 = Range("A" & m, "D" & m).Value

Voila je pense avoir tout dit...
J'espère que vous pourrez m'aider.
Merci à vous.
 
G

Guest

Guest
Re : Depassement de capacité

Bonjour Yass,

si tes cellules ne contiennent que des nombres:

Dim valeur1 As Double

Sinon,

Dim valeur1 As Variant

Si cela ne fonctionne toujours pas, livre nous un fichier dégraisser avec la macro.

A+
 

Yass

XLDnaute Nouveau
Re : Depassement de capacité

Bonjour Hasco !!
Merci de ta réponse.
J'ai des cellules qui ne contiennent pas que des nombres. J'avais donc bien mis "Variant".

Je viens de trouver le problème, je vous explique : j'avais dans une de mes colonnes de la deuxième feuille, à un moment donné, et seulement sur trois lignes (allez savoir pourquoi... :eek:) un problème de format de cellule... Excel ne reconnaissait apparemment pas les données qu'elles contenaient et donc planté lorsqu'il arrivé au traitement de ces dernières... et ce quel que soit le type de ma variable (même Variant)... ce qui est logique puisqu'il ne reconnait pas le type de donnée...

Voila, après quelques heures de recherche, je m'en suis enfin sortit !!!!
Encore un grand merci hasco d'avoir tenté de m'aider :)
 

Statistiques des forums

Discussions
312 684
Messages
2 090 916
Membres
104 697
dernier inscrit
Pierrot Hubert