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 :

Remplissage de plusieurs valeurs d'un tableau avec Range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut Remplissage de plusieurs valeurs d'un tableau avec Range
    Bonjour a tous

    Disons que j'ai un tableau declare sous cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MonTableau(1 to 3, 1 to 4) As String
    Est-il possible de remplir plusieurs valeurs en une ligne (sans boucle) ? Je m'explique: la maniere la plus "normale" de remplir ce tableau est d'imbriquer deux For...Next. Mais si par exemple MonTableau(1,1), MonTableau(2,1) et MonTableau(3,1) sont les 3 valeurs de Range("A1:C1"), peut-on affecter directement a la ligne "1" du tableau le Range en entier ?
    Je sais que c'est possible en utilisant un tableau de variant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim MonVariant, MonTableau(1 to 4)
    MonVariant =  Range("A1:C1").Formula
    MonTableau(1) = MonVariant
    mais en faisant ca je me suis demande s'il n'existait pas une methode plus "propre" de faire les choses.
    En resume: comment choisir une plage d'index d'un tableau declare (si c'est possible) ?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu pourrais concaténer les adresses de tes plages avec Union puis remplir tes tableaux. Dans l'exemple, je sélectionne 4 plages et crée un tableau de ranges
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub UnTableauQuelconque()
    Dim MonVariant, MonTableau(1 To 4), tableau, i
    Set Plage = Application.InputBox("Saisir 4 plages en appuyant sur la touche Ctrl", Type:=8)
        tableau = Split(Plage.Address, ",")
        For i = 1 To UBound(tableau)
            MonTableau(i) = Range(tableau(i)).Value
        Next
    End Sub
    Juste pour l'idée
    A+

  3. #3
    Membre émérite
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Par défaut
    Merci, ca va m'etre tres utile mais pour autre chose

    En fait mon "probleme" (je mets des guillemet parce que c'est plus une question que je me pose qu'un reel besoin, les boucles ca marche bien), c'est comment affecter par exemple 3 valeurs v1, v2, v3 dans un tableau en une fois, puis plus loin dans le code affecter v4, v5, v6 dans le meme tableau sans ecraser les valeurs precedentes et sans utiliser de variant (j'aime po ca). Si c'est possible bien sur.

    quelque chose du genre (attention ca ne marche pas du tout, c'est pour expliquer l'idee )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim MonTableau As Integer
    MonTableau(1 to 3) = Array(v1, v2, v3)
    ...
    MonTableau(4 to 6) = Array(v4, v5, v6)

Discussions similaires

  1. rechercher plusieurs valeurs dans un tableau
    Par biche1 dans le forum Excel
    Réponses: 2
    Dernier message: 18/09/2008, 15h28
  2. Recherche d'une valeur dans un tableau avec un grep
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2008, 10h50
  3. Extraction valeur suivant plusieurs valeurs dans un tableau
    Par fabibou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 19h02
  4. Enlever plusieur valeurs d'un tableau
    Par xduris dans le forum MATLAB
    Réponses: 3
    Dernier message: 28/06/2007, 15h45
  5. Réponses: 8
    Dernier message: 20/04/2007, 15h18

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