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 :

Nommer tableaux avec des variables [XL-2007]


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
    Comptable
    Inscrit en
    Décembre 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2012
    Messages : 57
    Par défaut Nommer tableaux avec des variables
    Bonjour à tous,
    Si je sollicite votre aide aujourd'hui c'est pour savoir s'il été possible de créer des tableaux à partir d'une boucle ?
    J'arrive à avoir Ubound du dernier tableau crée via la variable, mais si je veux avoir la même chose avec le deuxième j'ai une erreur 13 incompatibilité de type, comme si le tableau été vide...
    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
    Sub tabl()
    Dim p As Integer
     
    For p = 1 To 5
    Dim tablo_p() As Integer
    max = Range("a65536").End(xlUp).Row
    val_cherche = Range("c5")
    ReDim tablo_p(1 To max)
     
    For i = 1 To max
        tablo_p(i) = Range("a" & i)
    Next i
    Range("a" & max).Offset(1, 0).Value = "10"
     
    Next p
    MsgBox UBound(tablo_p) 'ok
    MsgBox UBound(tablo_2) 'échec
     
     
    End Sub
    Ou alors j'ai mal fait quelque chose...
    En espérant avoir été assez clair.
    Merci pour votre attention et vos futures réponses

  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,

    D'ou sort ce tablo_2 ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Comptable
    Inscrit en
    Décembre 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2012
    Messages : 57
    Par défaut
    Bonjour jfontaine,
    le tablo_2 c'est le deuxième tableau crée par la boucle.

  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
    Regardes bien ton code, tu verras qu'il n'y a que "tablo_p" comme tableau
    Je pense qu'il te manque une dimension dans ton tableau "tablo_p" pour faire ce que tu souhaites

    Evites de créer une variable dans une boucle

  5. #5
    Membre confirmé
    Homme Profil pro
    Comptable
    Inscrit en
    Décembre 2012
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2012
    Messages : 57
    Par défaut
    Oui vu l'erreur qu'il me met, je pense aussi qu'il n'y a que tablo_p de créer,
    mais je pensais que le fait d'avoir mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For p = 1 To 5
    Dim tablo_p() As Integer
    il aurait créer 5 tableaux.
    J'avais penser à utiliser les dimensions mais dans mon projet je risque d'en avoir trop...

    Pour tu dis qu'il faut éviter de créer une variable dans une boucle ?
    Merci de ton aide

  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
    Les variables se déclarent en début de procedure (pas d'utilité en VBA car le systeme la créera au début de l'execution

    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
    Sub tabl()
    Dim p As Integer
    Dim tablo_p() As Integer
     
    For p = 1 To 5
    max = Range("a65536").End(xlUp).Row
    val_cherche = Range("c5")
    ReDim tablo_p(1 To max)
     
    For i = 1 To max
        tablo_p(i) = Range("a" & i)
    Next i
    Range("a" & max).Offset(1, 0).Value = "10"
     
    Next p
    MsgBox UBound(tablo_p) 'ok
    MsgBox UBound(tablo_2) 'échec
     
    End Sub

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/11/2005, 12h03
  2. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  3. paramétrer ADOConnection avec des variables
    Par ouckileou dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/04/2004, 08h11
  4. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  5. Réponses: 6
    Dernier message: 04/04/2003, 15h28

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