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 :

Tableau dans procédure


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut Tableau dans procédure
    Bonjour,

    Programmant peu souvent, je suis totalement perdu sur un problème de tableau. Je cherche à ajouter, à partir d'une procédure évènementielle (choix d'une date par click de souris dans un monthview), les différentes dates choisies au clic, dans un tableau. Mais les valeurs ne sont pas conservées dans celui-ci lorsque je sors de la procédure.
    Pouvez-vous me dire comment écrire ces enregistrements dans le tableau (qui doit être dynamique puisque je ne sais pas le nombre de dates que va choisir l'utilisateur) ?

    Je vous remercie par avance de votre aide et vos conseils.

    Cordialement,

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Seraient nécessaires plus de précisions, ainsi que le code écrit (entre balises codes).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut tableau dans procédure
    Bonsoir,

    Je vous remercie de prendre le temps de me répondre.
    J'ai un userform contenant un contrôle "monthview", dont le code est ci-dessous, qui permet à l'utilisateur (du moins c'est ce que je souhaiterais faire) de choisir plusieurs dates que je liste par ailleurs dans un textbox (listdat). Je souhaitais enregistrer dans un tableau, les différentes dates cliquées par l'utilisateur. Comment dois-je faire ?
    Je pense avoir besoin d"une variable (n) pour incrémenter l'indice du tableau "tabdat" dynamique car je ne sais combien de date l'utilisateur va choisir. Mais après je ne sais plus. si je mets n à 0 sur chaque entrée dans la procédure, je pers mon indice. je dois donc la déclarer publique ? et ajouter n=n+1 en fin de procédure ? La valeur de tabdat(n) n'est pas conservée quand je lis le tableau avec un msgbox.
    Merci pour votre aide,
    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Private Sub calend1_DateClick(ByVal DateClicked As Date)
    Dim n As Integer
    Dim sep, listdat As String
    Dim tabdat()
     
    listdat = ""
    sep = " - "
    calend1.TitleBackColor = &HC0C000
    listdat = Format(Me.calend1.Value, "dd/mm/yyyy")
    saisiedat.Tblistdat.Value = Tblistdat.Value & sep & listdat
     
    End Sub

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    - une variable compteur (pour incrémenter à la fois la dimension du tableau et l'index devant recevoir la valeur) accessible depuis ton code (donc soit déclarée Private dans le module de code, soit déclarée Publique dans un module standard)
    - intéresse-toi à Redim Preserve (rubrique de ton aide interne VBA : ReDim, instruction à lire en t'attardant sur ce qui y est dit en ce qui concerne le mot-clé Preserve).

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 11
    Par défaut tableau dans procédure
    Bonsoir,
    Voila ce que j'ai fait. J'ai déclaré n en variable publique dans le module 1, puis ajouté les lignes de codes suivantes.
    Mais je n'ai toujours pas les valeurs conservées dans le tableau. La première fois oui, (1ere date choisie) mais à la deuxième, le premier indice est vide. Qu'est-ce que je rate ?
    Merci encore

    Dans module1 j'ai déclaré n as integer
    Puis voici ce que j'ai rajouté en suivant vos conseils ;
    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
     
    Private Sub calend1_DateClick(ByVal DateClicked As Date)
    Dim sep, listdat As String
    Dim tabdat()
     
    Redim preserve tabdat(0 to n)
    listdat = ""
    sep = " - "
    calend1.TitleBackColor = &HC0C000
    listdat = Format(Me.calend1.Value, "dd/mm/yyyy")
    tabdat(n)
    saisiedat.Tblistdat.Value = Tblistdat.Value & sep & listdat
    msgbox tabdat(n)
    n = n +1
     
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ta ligne 11 :
    n'a aucun sens !

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/05/2014, 14h26
  2. [VBA] Récupération d'un tableau dans une procédure
    Par lucasflorent dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/02/2012, 20h09
  3. Passage d'un tableau dans une procédure
    Par Matmal11 dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 12/10/2009, 17h04
  4. Déclaration dynamique d'un tableau dans une procédure
    Par lowwa132 dans le forum Débuter
    Réponses: 12
    Dernier message: 25/01/2009, 21h51
  5. Passer en paramétre un tableau dans une procédure stockée
    Par killysui dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/04/2006, 11h47

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