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

VBA Word Discussion :

Taille d'un tableau


Sujet :

VBA Word

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 385
    Points : 2 700
    Points
    2 700
    Par défaut Taille d'un tableau
    Bonjour tout le monde,

    Dans VBA pour Word 2012 j'ai déclaré un tableau comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim strAddress As String
          Dim strElem() As String
          strElem = Split(strAddress, ".")
    sachant que strAddress est une chaîne qui peut contenir un nombre variable de points, ce qui nous donne donc une taille variable pour le tableau strElem.

    Pour connaître la taille de ce tableau je demande strElem.GetUpperBound(0) et on me répond qualificateur incorrect.
    Je dirais bien "C'est cela, oui !" mais ça a déjà été pris.

    Donc en réalité question assez simple : comment je fais-je ?

    ***
    Pour info je m'en suis sorti autrement, le tableau est obtenu par Split sur une chaîne de caractères, alors j'ai simplement compté le nombre de séparateurs.
    Quand même, même si je ne programme plus si souvent sous Word, ça peut être utile à l'occasion de connaître les fonctions de base liées à un tableau de variables.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Gluups Voir le message
    Bonjour,

    Sachant que par défaut, le décompte part de 0.

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 385
    Points : 2 700
    Points
    2 700
    Par défaut
    Bonjour,

    • Effectivement UBound(strElem) est la bonne réponse, merci
    • Je ne sais pas ce qui s'est passé avec ça, la réponse n'apparaissait que dans mes mails, enrichie de tellement de codes de mise en forme qu'elle en était illisible. C'est apparu ici une fois que j'ai fermé et rouvert le navigateur. Avant je ne pouvais pas relire la fin de mon message, arrivé à la moitié, la page retournait en haut.
    • Maintenant on dirait que tout est rentré dans l'ordre



    Une petite remarque au sujet des documentations.

    Je me rappelle Word 4 pour DOS, Microsoft avait fait un effort particulier, et proposé ce qu'on appelait un didacticiel, c'est-à-dire un programme qui guide l'utilisateur dans l'apprentissage, étape par étape, en corrigeant chaque erreur, comme cliquer ailleurs que ce qui est demandé. Ça avait dû coûter quelque chose, mais c'était bien la preuve que quand Microsoft veut arriver à quelque chose sur le sujet, ils en sont bien capables.

    Aujourd'hui, dans Word 2012, j'ai voulu savoir quelle touche déclenche l'exécution pas à pas d'une macro, je suis allé voir la documentation, on m'a dit F11 car je suis tombé sur la documentation de ... la version 2017 je crois. Or, sous Word 2012, l'exécution en pas à pas d'une macro, c'est F8. Donc, le peu de documentation que j'ai trouvé sur le sujet était complètement contre-productif. Il valait mieux chercher cette information dans le menu déroulant Débogage.

    Ça sort de l'interrogation de la taille d'un tableau, mais le problème s'est posé pour cette question aussi, j'ai cherché dans la doc avant de poser la question ici.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Gluups Voir le message
    J'avoue ne pas pouvoir vous répondre. J'utilise l'aide en ligne lorsque je ne connais pas (et cela m'arrive très souvent...), sinon je recherche.

  5. #5
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 385
    Points : 2 700
    Points
    2 700
    Par défaut
    Oui, ce n'est pas particulièrement étonnant, ce n'est même pas un site Microsoft ici. Bon, j'ai piqué un coup de gueule comme ça là où j'en ai eu l'occasion. J'ai maîtrisé les premières versions de Word à fond, et à mesure qu'il en est sorti j'ai approfondi de moins en moins.

    Ah, bien la FAQ, du coup je vais jeter un coup d'œil.

    Il y a peu j'ai ouvert un fil pour avoir des tableaux qui restent chacun sur une page (pour des paragraphes c'est lignes solidaires, il me semble que pour un tableau il doit aussi y avoir quelque chose).

    J'ai cherché "page" sur la page d'accueil. Hum, mauvaise réponse.
    "Tableau", peut-être ?

    Hum, non plus.

    Ah, le moteur de recherche. Sur "page", il y a 181 résultats de recherche. Ah mais sur "tableau page" il n'y en a plus que 23. Ah, faut voir. Un parcours en diagonale n'oriente pas particulièrement mon attention sur une réponse plus qu'une autre, mais il y a un forum, aussi. Tiens, ce n'est pas une question battue et rebattue ?

    Merci.

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Gluups Voir le message
    Bonjour,

    Aujourd'hui, dans Word 2012, j'ai voulu savoir quelle touche déclenche l'exécution pas à pas d'une macro, je suis allé voir la documentation, on m'a dit F11 car je suis tombé sur la documentation de ... la version 2017 je crois.
    Or, sous Word 2012, l'exécution en pas à pas d'une macro, c'est F8. Donc, le peu de documentation que j'ai trouvé sur le sujet était complètement contre-productif. Il valait mieux chercher cette information dans le menu déroulant Débogage.

    Franchement ! F8 est là depuis toujours en VBA,.
    Cela a été changé pour F11, en VB.net, il y a déjà quelques versions pour uniformiser avec C#


    Et Word 2012 n'a jamais existé, pas sous Windows en tout cas. Word 2017 non plus


    Ça sort de l'interrogation de la taille d'un tableau, mais le problème s'est posé pour cette question aussi, j'ai cherché dans la doc avant de poser la question ici.
    Dans la mauvaise documentation, il faut croire. Quant tu vois system.quelque chose dans une page, ce n'est pas du VBA. Quand tu vois Hérarchie d'appels dans une page aves une série de System dans une page, ce n'est pas du VBA.

  7. #7
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 385
    Points : 2 700
    Points
    2 700
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Quant tu vois system.quelque chose dans une page, ce n'est pas du VBA. Quand tu vois Hérarchie d'appels dans une page aves une série de System dans une page, ce n'est pas du VBA.
    Et donc, toi, au départ d'un éditeur VBA, tu peux voir System quelque chose dans l'aide, ça te paraît normal ?

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Depuis Office 2016, il n'y a plus d'aide locale et tu aboutis sur Internet. Mais comme tu ne dis pas ce que tu fais pour trouver ta documentation et que tu donnes des numéros de versions fantaisistes, tu ne peux pas espérer avoir beaucoup t'aide.

    Ubound, par exemple est reconnu autant par VBA que VB.net. Mais VBA et VB.NET sont deux langages différents. Dans VB.net Ubound est là pour faciliter la conversion de VBA (VB6 en fait) à VB.net. Et c'est vrai pour un paquet de fonctions.

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

Discussions similaires

  1. [Tableau]comment connaitre la taille d'un tableau à 2 dimensions
    Par Kyti dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/04/2005, 10h27
  2. Changer la taille d'un tableau déjà initialisé
    Par totofweb dans le forum C++
    Réponses: 2
    Dernier message: 25/07/2004, 15h55
  3. taille d'un tableau
    Par monstour dans le forum ASP
    Réponses: 3
    Dernier message: 24/06/2004, 15h16
  4. Taille maximum de tableau en Delphi
    Par yannick37 dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2004, 13h18
  5. qbasic : taille d'un tableau
    Par clood200 dans le forum Basic
    Réponses: 2
    Dernier message: 16/09/2003, 07h26

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