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 : mémoire insuffisante pour afficher un entier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut Erreur : mémoire insuffisante pour afficher un entier
    Bonjour !!

    J'ai une petite macro nommée "rempli" qui, a partir de certaine valeurs saisies, va remplir d'autres cases

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub rempli()
    Dim i, j As Integer
    For j = 0 To 32 Step 8
        For i = 13 To 0 Step -1
            Cells(42 + j, 19).Value = Range("A7").Value
            If Cells(42 + j, 6 + i).Value <> "" Then
                Cells(40 + j, 6 + i).Value = CInt(Replace(Cells(42 + j, 6 + i).Value, "J", 0))
            Else
                Cells(40 + j, 6 + i).Value = Cells(40 + j, 6 + i + 1).Value
            End If
        Next i
    Next j
    End Sub
    Les valeurs modifiables et sur lequel je souhaite "enclencher" la macro sont sur la plage F42:S42.

    j'ai donc essayer sur le "worksheet_change" de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Not Intersect(Target, Range("F42:S42")) Is Nothing Then
            rempli
    Mais ça ne marche pas.
    Ce qui est bizarre c'est que j'ai pris une autre plage de cellules pour tester et dessus, la macro s'enclenche bien.

    J'espère avoir été clair...

    Merci pour tout coup de main !

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CInt(Replace(Cells(42 + j, 6 + i).Value, "J", 0))
    Es tu certains de ne pas avoir une autre lettre qu'un J qui traine?

    NB :dans la déclaration de tes variabes, seul j est integer, i est un variant
    il faut déclarer comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim j As Integer
    Dim i As Intege

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut
    Bonjour jfontaine,

    merci pour ta réponse.

    Non non il n'y a pas d'autre lettres dans le replace et la sub marche bien quand je l'appelle directement. La ou ça plante, c'est quand je l'appelle a partir des modification sur une plage de cellules.

    J'ai essayé avec le i en variant mais ça ne marche toujours pas.

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    as tu pris en considération que ta procedure sera appelée à chaque modification de cellules?
    C'est justement ce que fait ta procedure !!! (des modifications)
    Ca tourne, ca tourne, ca tourne ....

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut
    oui, et j'ai testé en changeant la plage d'action et en la plaçant sur une partie de la feuille ou il n'y a pas de données et là ça a marché.
    C'est vraiment un mystère pour pour moi !

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    sauf que sur des cellules vide, ll ne passe pas ce test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(42 + j, 6 + i).Value <> "" Then

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 97
    Par défaut
    ça marche avec le code de bbil !

    Je comprend pas vraiment d'ou ça venait puisque quand je changeais une valeur de la ligne 42, la sub "rempli" agissait sur la ligne 40... donc je ne vois pas pourquoi ça tournait en rond...

    En tout cas merci pour votre aide !

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

Discussions similaires

  1. [XL-2007] Mémoire insuffisante pour afficher en entier excel 2007
    Par tessteur_tt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/05/2013, 16h29
  2. Réponses: 1
    Dernier message: 01/03/2013, 08h36
  3. mémoire insuffisante pour afficher en entier : help!
    Par ediurne dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/06/2010, 09h57
  4. Réponses: 8
    Dernier message: 02/09/2009, 13h18
  5. Mémoire insuffisante pour afficher en Entier
    Par casavba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/03/2008, 17h40

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