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 :

problème de définition des dimensions d'un tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut problème de définition des dimensions d'un tableau
    Bonjour à tous,

    Je suis conscient de poser une question récurrente et dont la réponse doit déjà avoir été fournie par quelqu'un sur ce forum, mais voilà, je n'arrive pas à trouver cette réponse (ou plutôt je ne l'ai pas compris dans les discussions).

    Voici le problème:
    Je veux transformer une plage de cellule en tableau. La taille, plus précisément le nombre de ligne de ma plage est variable (le nombre de colonne est fixe:9).
    J'ai donc créé une variable dernière ligne qui va récupérer le numéro de ma dernière ligne.
    Je veux ensuite dimensionner mon tableau de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim tableau_CHIFFRAGE(adresse_derniere_LIGNE, 9) As Integer
    Quand je veux lancer la procédure, j'ai un message d'erreur qui apparaît: "Constante requise";

    En parcourant certaines discussions, il me semblait pourtant que certains définissait les dimensions de leur tableau avec ce qui ressemblait à des variables.

    Y a t'il une manipulation à faire pour transformer des variables en constante ( je ne pense pas mais bon sait-on jamais).

    Merci d'avance de vos réponses.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut Première erreur
    je viens de me rendre compte d'une bourde, la numérotation d'un tableau commençant à 0 il aurait fallu que j'écrive
    Dim tableau_CHIFFRAGE((adresse_derniere_LIGNE-1), 8) As Integer
    ou quelque chose d'équivalent

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Dim n'accepte que des constantes.

    Si tu veux utiliser des variables pour définir les dimensions du tableau, tu dois utiliser Redim...

    Ceci dit, il serait plus simple de déclarer une variable sans la typer et lui transférer la plage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim Tableau
     
    tableau = range("a1:f1000")
    Tableau aurait alors directement les bonnes dimensions.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut
    Redim c'est parfait et effectivement, il vaut mieux ne pas typer la variable
    On m'avait dit que c'était mieux de typer systématiquement, mais voici la preuve qu'il ne faut pas trop écouter les puristes

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    ce n'est pas une histoire de puriste mais ici juste l'exception confirmant la règle !

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

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

Discussions similaires

  1. Problème de définition des valeurs de champ
    Par franckimmo dans le forum VBA Access
    Réponses: 14
    Dernier message: 07/08/2009, 10h54
  2. Réponses: 1
    Dernier message: 07/04/2008, 16h11
  3. Problème pour forcer des valeurs d'un tableau
    Par n][co dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 25/04/2007, 20h59
  4. [JSTL] Problème de définition des biblio des balises jstl.jar
    Par amine lahyani dans le forum Taglibs
    Réponses: 5
    Dernier message: 30/08/2006, 20h32
  5. [Système] Problème de définition des variables
    Par SLAM JACK dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 19h53

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