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

VBA Access Discussion :

[Vba Access] Création tableau a longeur variable


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Par défaut [Vba Access] Création tableau a longeur variable
    Bonjour,

    J'aimerai crée un tableau donc je ne connais pas la taille, car variable.
    Voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim ValeurTotaleLong() As Long
    Dim TableNum As Integer
    TableNum = 0
    ...
           Do While FlagNomenclature
     
            PoidsTotal = PoidsTotal + (Enreg!A0PNET * Enreg!CDQFAC)
            QTotale = QTotale + Enreg!CDQFAC
            ValeurTotaleLigne = ValeurTotaleLigne + (Enreg!CDPRNH * Enreg!CDQFAC)
     
            Enreg.MoveNext
     
            If MemNomenclature <> Enreg!A0NOND Then
     
                wsExcel.Cells(Ligne, 3) = QTotale
                wsExcel.Cells(Ligne, 4) = PoidsTotal
                wsExcel.Cells(Ligne, 6) = ValeurTotaleLigne
                wsExcel.Cells(Ligne, 6).NumberFormatLocal = "0,00"
                ValeurTotale = ValeurTotale + ValeurTotaleLigne
                ValeurTotaleLong(TableNum) = ValeurTotaleLigne
                TableNum = TableNum + 1
     
                FlagNomenclature = False
                Ligne = Ligne + 1
            End If
     
            Loop
    ...
    Mais je n'est rien dans mon tableau... Pourquoi?

    Merci pour votre aide

  2. #2
    Membre Expert Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Par défaut
    [QUOTE=57Steph;2470263]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim ValeurTotaleLong() As Long
    Dim TableNum As Integer
    TableNum = 0
    ...
           Do While FlagNomenclature
     
            PoidsTotal = PoidsTotal + (Enreg!A0PNET * Enreg!CDQFAC)
            QTotale = QTotale + Enreg!CDQFAC
            ValeurTotaleLigne = ValeurTotaleLigne + (Enreg!CDPRNH * Enreg!CDQFAC)
     
            Enreg.MoveNext
     
            If MemNomenclature <> Enreg!A0NOND Then
     
                wsExcel.Cells(Ligne, 3) = QTotale
                wsExcel.Cells(Ligne, 4) = PoidsTotal
                wsExcel.Cells(Ligne, 6) = ValeurTotaleLigne
                wsExcel.Cells(Ligne, 6).NumberFormatLocal = "0,00"
                ValeurTotale = ValeurTotale + ValeurTotaleLigne
                ValeurTotaleLong(TableNum) = ValeurTotaleLigne
                TableNum = TableNum + 1
     
                FlagNomenclature = False
                Ligne = Ligne + 1
            End If
     
            Loop
    ...
    Je ne comprends pas ta variable Ligne... elle n'est ni déclarée ni inititiée, cela devrait - au premier "passage" - déclencher une erreur puisqu'alors elle est égale à Null (Evtl à 0)

    Il y a également "FlagNomenclature" que je ne comprend pas. Tu pose une boucle "While" et au premier passage, tu déclares "FlagNomenclature = False"... donc, à priori, elle va rester sur False et jamais remplir la condition... je comprends pas bien non plus...

    Voilà, je sais pas si cela va t'aider ?

    A+

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Par défaut
    Ne t'en fait pas pour ces variables allez sont correctement initialiser et tout, j'ai peux être mis trop de code je simplifie un peux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim ValeurTotaleLong() As Long
    Dim TableNum As Integer
    TableNum = 0
    ...
     
                ValeurTotaleLong(TableNum) = ValeurTotaleLigne
                TableNum = TableNum + 1
     
    ...
    Voilà mon problème est ici, je n'arrive insérer mes valeurs dans le tableau.
    Le tableau n'a pas toujours la même taille.

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Quand tu déclares ton tableau, tu ne lui a pas donné de dimension, ce qui est normal car tu ne la connais pas.

    Regarde dans l'aide les instructions REDIM et PRESERVE, avec les exemples, tu verras comment cela fonctionne, c'est ces deux instructions que tu dois utiliser.

    Starec

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Par défaut
    Merci a toi... C'est tout bon

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

Discussions similaires

  1. [AC-2007] Création d'un Tableau Croisé Dynamique (TCD) Excel depuis VBA Access
    Par Largo38 dans le forum VBA Access
    Réponses: 0
    Dernier message: 17/07/2013, 12h36
  2. Réponses: 2
    Dernier message: 28/02/2008, 18h57
  3. [VBA ACCESS] - Création menu Fichier - Edition ..
    Par bruno28 dans le forum VBA Access
    Réponses: 4
    Dernier message: 17/07/2007, 09h22
  4. [Vba-E] Création tableau
    Par antoinelavigne dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/06/2006, 15h48
  5. [VBA] Mettre un tableau de variable en paramètre
    Par loacast dans le forum Général VBA
    Réponses: 10
    Dernier message: 15/11/2005, 11h28

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