IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur d'éxécution 6 : dépassement de capacité [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 29
    Points
    29
    Par défaut Erreur d'éxécution 6 : dépassement de capacité
    Bonjour à tous,
    J'ai développé un code pour comparer deux tableaux excel ligne à ligne.
    Je mémorise chacun de ces tableaux dans deux variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim i&, a&, fin1&, fin2&, fin3 As Integer, Bdd1 As Variant, Bdd2 As Variant
    Bdd1 = Empty
    Bdd2 = Empty
    fin1 = Feuil1.Range("A" & Rows.Count).End(xlUp).Row + 1 'Stocke le nombre de ligne de la Bdd1 dans la variable
    fin2 = Feuil2.Range("A" & Rows.Count).End(xlUp).Row + 1 'Stocke le nombre de ligne de la Bdd2 dans la variable
    MsgBox ("La première sélection compte " & fin1 - 1 & " enregistrements.")
    MsgBox ("La deuxième sélection compte " & fin2 - 1 & " enregistrements.")
    Bdd1 = Feuil1.Range("A1:O" & fin1) 'Stocke le contenu de la Bdd1 dans la variable
    Bdd2 = Feuil2.Range("A1:O" & fin2) 'Stocke le contenu de la Bdd2 dans la variable
    Le stockage des tableaux se faisait très correctement jusqu'à que j'obtienne l'erreur ERREUR D'EXECUTION 6 : DEPASSEMENT DE CAPACITE.
    Je suis arrivé à faire disparaître cette erreur en limitant le nombre de colonnes stockées à 8.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Bdd1 = Feuil1.Range("A1:H" & fin1) 'Stocke le contenu de la Bdd1 dans la variable
    Bdd2 = Feuil2.Range("A1:H" & fin2) 'Stocke le contenu de la Bdd2 dans la variable
    Et là, je bute depuis des heures pour essayer de mémoriser les quinze colonnes de mes tableaux.
    A titre d'information, les tableaux contiennent environ 2000 lignes.
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    face à un tel message, rien à faire à part redémarrer l'ordinateur puis après l'ouverture de Windows
    fermer toutes les utilitaires résidents futiles puis ouvrir seul Excel.
    Si toujours problème, essayer sur un ordinateur plus puissant (au moins disposant de plus de RAM)
    voire sur une version d'Excel plus récente en 64 bits.
    Quoiqu'un test succinct de mon côté sur une version 2003 ne déclenche pas d'erreur …

    Tout dépendant de quelle ligne déclenche l'erreur déjà, la première ou la deuxième ?
    Faut-il forcément stocker les deux plages en même temps ?
    En lecture, l'accès direct aux cellules est rapide, pas besoin de stocker …

    Sans connaître le but de la procédure, un seul conseil :  Penser Excel Avant VBA  …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Bonjour Marc-L,
    J'ai eu un coup de chaud en lisant ton message ! Je n'avais pas pensé à redémarrer le PC !
    Je l'ai fait mais cela n'a rien changé...
    En fait, j'ai deux exports de mon CRM à date différentes que j'essaie de comparer ligne à ligne. Cela me permet de savoir ce que devient une opportunité d'une période à l'autre. L'opportunité se caractérise par une quinzaine de champs (Identifiant, client, description, devise, montant, coût, étape, date de commande, etc....).
    Pour répondre à tes questions :
    Tout dépendant de quelle ligne déclenche l'erreur déjà, la première ou la deuxième ? La première.
    Faut-il forcément stocker les deux plages en même temps ? Oui. Car je compare ensuite ligne à ligne en utilisant l'identifiant de l'opportunité à l'aide de boucles.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Bon ben soit tester sur un autre ordinateur, soit se passer de variables tableau via une lecture classique de cellules
    soit utiliser une fonctionnalité interne d'Excel comme un TCD ou un filtre avancé (même en VBA) via un critère calculé …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 09/05/2016, 19h04
  2. [XL-2003] Erreur d'exécution 6 Dépassement de capacité
    Par Vadorblanc dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/11/2010, 21h43
  3. Erreur d'exécution '6': Dépassement de capacité
    Par XpFive dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/08/2009, 09h31
  4. Erreur d'éxecution '6' : dépassement de capacité
    Par mariafan dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/06/2008, 10h21
  5. Réponses: 8
    Dernier message: 06/02/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo