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 :

Connaître le nombre de donnée dans un array


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut Connaître le nombre de donnée dans un array
    Bonjour,

    pour cette fois-ci je demande de l'aide ^^

    j'ai un chemin de fichier "c:\Dossier1\Dossier2\...\Dossier'n'\Fichier.xls"

    j'aimerais récuperer le nom du fichier grâce à ce chemin.

    Pour ce faire je triche un peu mais cettre tricherie à une limite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Myarray = Split(FilePath, "\", -1, 1)
    Rang = 0
    Do
        On Error GoTo Suite
        FileName = Myarray(Rang)
        Rang = Rang + 1
    Loop
     
    '----------------------------------------------------------------
    Suite:
    ce qui me sépare le Path en dossier / sous dossiers / fichier
    si je n'execute cette commande qu'une seule et unique fois, pas problème (lorsque je dépasse mon rang max, ya une erreur donc il va à Suite: )
    cependant, si je dois refaire cette partie de mon macro, il ne gère plus le On Error GoTo Suite.

    d'ou ma question,
    est-il possible de gérer cette erreur plusieurs fois ?
    si non, comment savoir le nombre de valeurs dans mon array Myarray(Rang)

    par exemple :
    Myarray("mot1","mot2","mot3","mot4")
    dire que le rang max est 3 :
    Myarray(0) -> "mot1"
    Myarray(1) -> "mot2"
    Myarray(2) -> "mot3"
    Myarray(3) -> "mot4"


    PS: je vous donne pas mon code entier, ca serait imbuvable.

  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
    bonsoir

    Tu peux récupérer directement le nom du fichier ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Dir("c:\Dossier1\Dossier2\...\Dossier'n'\Fichier.xls")


    Sinon pour ta question initiale, tu peux aussi tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MyArray = Split("c:\Dossier1\Dossier2\...\Dossier'n'\Fichier.xls", "\", -1, 1)
    MsgBox MyArray(UBound(MyArray))


    michel

  3. #3
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 314
    Points
    314
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Dir("c:\Dossier1\Dossier2\...\Dossier'n'\Fichier.xls")
    est parfait (connaissais po la commande ^^)

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

Discussions similaires

  1. [Tableaux] Traitement de données dans un Array
    Par abeh25 dans le forum Langage
    Réponses: 9
    Dernier message: 30/06/2009, 13h57
  2. [Tableaux] Manipulation de données dans un Array
    Par arnaudperfect dans le forum Langage
    Réponses: 4
    Dernier message: 06/02/2009, 16h35
  3. Réponses: 4
    Dernier message: 29/09/2008, 17h34
  4. Réponses: 3
    Dernier message: 29/09/2007, 14h45
  5. [Formule]nombre de données dans une plage horaire
    Par melitoriva dans le forum Excel
    Réponses: 3
    Dernier message: 04/05/2007, 17h47

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