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 :

Remplissage d'un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut Remplissage d'un tableau
    Bonjour,

    Je suis en train de développer une petite application en VBA (je suis débutant) mais je bloque sur une partie.

    Ma description s'appuie sur la PJ. Les lignes 21 et suivantes sont des données. Chaque ligne est soit de type 1 soit de type 2 (colonne E). Je voudrais pour toutes les lignes identifiées de type 1 que:
    - on regarde la date présente dans la colonne date (colonne H à partir de la ligne 21)
    - on calcule cette date - 1 mois.
    - on vient remplir le tableau (A1 : F13). Pour cela on repère la ligne correspondant "date-1 mois" (colonne A) en fonction du mois et la colonne (C,D,E,F) en fonction de l'année. On remplit la ligne Type 1.
    - On vient remplir la cellule à l'intersection mois/année en y mettant le chiffre présent dans la colonne J ou on additionne ce chiffre à celui déjà présent dans le tableau (A1 : F13).
    - On fait le même travail avec les colonnes K (on prend en compte "date") et L (en prend en compte "date+1 mois")

    On fait également le même travail pour Type 2.

    N'hésitez pas si vous avez des questions.

    Merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    J'ai réussi à faire quelque chose mais une partie bug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim tabDonnees(4, 10) As Integer
     
    For l = 0 To 9
     
        For m = 0 To 3
        n = 2 + 3 * m
        o = 3 + l
     
        Cells(n, o).Value = tabDonnees(m, l).Value
     
    Next m
     
    Next l
    Il me dit qualificateur incorrect en mettant en jaune "tabDonnees(m, l).Value". Tout le reste fonctionne.

    Merci de votre aide.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    salut

    tabDonnees(m, l) n'est pas un objet mais un tableau de valeurs Integer
    il ne possède pas de propriété Value
    => enlève le ".value"

    à +

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Merci pour l'information qui m'a débloqué. J'ai un nouveau problème avec cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enCours = (mois2 <= 24) And (mois.DECALER("H" & i & "," & mois2) <= Worksheets("nomsst").Range("P" & i).Value)
    mois2 est un "Interger". Encours est censé être un boolean mais j'ai juste mis "Dim enCours". Dois-je ajouter quelque chose ? Voyez-vous l'erreur ?

    Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 87
    Points : 93
    Points
    93
    Par défaut
    oui,
    je trouve cette expression très bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mois.DECALER("H" & i & "," & mois2)
    l'équivalent VBA pour "DECALER" est Offset (voir aide F1 pour la syntaxe).

    pour utiliser une fonction Excel il faut mettre Application.worksheetfunction.LeNomDeLaFonction (voir F1 encore). Le NomDeLaFonction est en anglais, je n'ai pas vérifié mais il est très probable que DECALER se dise en anglais OFFSET.

    et que représente mois ?

    à +

Discussions similaires

  1. [HashMap] lecture d'1 hasmap et remplissage d'un tableau
    Par _KB_ dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 30/06/2006, 19h33
  2. [VBA-E] eviter blanc remplissage listbox avec tableau
    Par chmod777 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/04/2006, 12h16
  3. [LG]Remplissage d'un tableau
    Par luno2545 dans le forum Langage
    Réponses: 2
    Dernier message: 29/01/2004, 21h47
  4. Réponses: 13
    Dernier message: 14/10/2003, 14h31
  5. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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