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 :

[VBA-E] un tableau de constantes


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Points : 45
    Points
    45
    Par défaut [VBA-E] un tableau de constantes
    Bonjour
    je sais qu'il est possible de déclarer plusieurs constantes en ne seule fois...mais je ne sais pas comment faire

    En fait au lieu de déclarer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const coul1= 14 
    const coul2= 16
    const coul3= 42
    ...


    Je voudrai pouvoir écrire un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const coul=[14,16,42...]
    Mais impossible de trouver la syntaxe exacte!

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    tu peux aussi tester l'instruction Enum


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            Public Enum Coeff 
            Coeff_2 = 2 
            Coeff_3 = 3 
            Coeff_4 = 4 
            End Enum 
     
            Sub Test() 
            MsgBox 500 * Coeff.Coeff_2 'résultat = 1000 
            End Sub


    bonne journée
    michel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Merci pour ta réponse mais en fait ta solution ne s'applique pas à mon problème

    Suivant le numero de la region, je souhaite appliquer une couleur à la case (Cell.interior.colorindex)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        With Feuille.Cells(i,j)
            .Value = Fvilles.Cells(Ligne, 3)'Feuille et Fvilles sont des Worksheet
            Select Case noRegion
                Case 1: .Interior.ColorIndex = 38
                Case 2: .Interior.ColorIndex = 40
                Case 3: .Interior.ColorIndex = 36
                Case 4: .Interior.ColorIndex = 35
                Case 5: .Interior.ColorIndex = 34
                Case Else: .Interior.ColorIndex = xlNone
            End Select
        End With
    Je voudrai faire un truc du style:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        With Feuille.Cells(i,j)
            .Value = Fvilles.Cells(Ligne, 3)
            .Interior.ColorIndex=Coul(noRegion)
        End With
    çà m'évite de refaire un select case à chaque fois, et si je veux modifier une couleur, je ne suis pas obligé de le faire dans tous les select case!


    avec coul constante comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const coul=[38,40,36,35,34]
    ou plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const coul = ["38","40","36","35","34"]
    Mais dans ces deux cas, j'ai l'erreur: Constante requise!

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    rebonjour

    dans ce cas tu pourrais utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Coul As Variant
    Coul = Array(38, 40, 36, 35, 34)
     
    noRegion = 1
     
    With Feuille.Cells(i, j)
            .Value = Fvilles.Cells(ligne, 3)
            .Interior.ColorIndex = Coul(noRegion)
     End With

    bon apres midi
    michel

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    merci encore pour ta réponse, je pense qu'elle marche...
    Mais tu ne connais pas la syntaxe exacte?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mais tu ne connais pas la syntaxe exacte?
    la synthaxe exacte de quoi ?


    bonne journée
    michel

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    La syntaxe exacte de çà!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const coul = [38,40,36,35,34]
    En fait je veux pas me galérer à redéclarer et reinitialiser à chaque foiii.

Discussions similaires

  1. [VBA Excel] Un tableau dynamique dans un type utilisateur?
    Par cyber_N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/07/2006, 19h51
  2. [Vba-E] Création tableau
    Par antoinelavigne dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 17/06/2006, 15h48
  3. [VBA-E]Remplissage tableau aléatoire
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/06/2006, 11h34
  4. [VBA] insérer un tableau Excel dans un formulaire
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/02/2006, 13h15
  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