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 :

Lister un Range dans une variable et l'afficher


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
    Consultant en sécurité
    Inscrit en
    Décembre 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Décembre 2020
    Messages : 38
    Par défaut Lister un Range dans une variable et l'afficher
    Bonjour, j'ai une liste de valeurs texte dans un Range A27:A34 et je voudrais le mettre dans une liste et l'afficher. J'arrive à afficher "8" qui est la taille du range mais j'ai un bug en jaune sur la ligne où je veux afficher la 5eme valeur...

    Comment faire svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
        Dim Suppliers As Variant
        Suppliers = ActiveSheet.Range("A27:A34").Value2
        MsgBox UBound(Suppliers)
        MsgBox "" & Suppliers(5)
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Re ici

    Le fait que tu mettes la propriété Value d'une plage de cellule dans ta variable Suppliers et compliqué à restituter pour VBA.
    Il te faut boucler sur chaque valeur et les concaténer dans une variable de type String.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
        Dim Cellule As Range
        Dim Message As String
        For Each Cellule In Range("A27:A34")
            Message = Message & Cellule.Value & vbCrLf
        Next Cellule
        MsgBox Message
    End Sub

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 244
    Par défaut
    hello,
    Citation Envoyé par questionsguy Voir le message
    Bonjour, j'ai une liste de valeurs texte dans un Range A27:A34 et je voudrais le mettre dans une liste et l'afficher. J'arrive à afficher "8" qui est la taille du range mais j'ai un bug en jaune sur la ligne où je veux afficher la 5eme valeur...

    Comment faire svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
        Dim Suppliers As Variant
        Suppliers = ActiveSheet.Range("A27:A34").Value2
        MsgBox UBound(Suppliers)
        MsgBox "" & Suppliers(5)
    End Sub
    c'est normal que tu aies une erreur car Suppliers est un tableau à 2 dimensions.
    Il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MsgBox "" & Suppliers(5,1)
    le premier indice représente la ligne, le deuxième indice la colonne (dans ton cas il est toujours à 1 car il n'y a qu'une colonne dans le Range)

    Ami calmant, J.P

  4. #4
    Membre averti
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Décembre 2020
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Décembre 2020
    Messages : 38
    Par défaut
    Merci pour l'info dan ce cas comment faire une seule dimension ? Car mon range n'a qu'une dimension... Car pour l'affichage j'aimerais utiliser Join()

Discussions similaires

  1. [XL-2010] Nommer une range dans une variable
    Par nonesofar dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/03/2017, 15h47
  2. Fonction qui récupère l'adresse d'une plage/Range dans une variable
    Par Bastien06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/11/2012, 11h35
  3. Problème d'enregistrement d'un range dans une variable
    Par napo123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2012, 13h57
  4. Utiliser l'objet "Range" dans une variable
    Par lecter85 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/06/2010, 10h06
  5. Réponses: 1
    Dernier message: 04/04/2007, 11h03

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