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 :

Occurences colonnes dans variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut Occurences colonnes dans variable
    Bonjour à tous,

    Petite question concernant un problème que je n'arrive pas à résoudre

    J'ai une colonne de la sorte :

    J2:41
    J3:41
    J4:42
    J5:42
    J6:42
    J7:43
    J8:44
    J9:44
    J10:44
    ....

    L'objectif est de réussir à sortir toutes les occurences de cette colonne ( dans l'exemple 41 ,42 ,43 ,44 ) et à les placer dans une variable


    Des idées ?

    Merci

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Tu peux utiliser une formule pour récupérer la partie a droite des :
    Ici la colonne avec les données se trouve en A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =STXT(A1;CHERCHE(":";A1)+1;NBCAR(A1))

  3. #3
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut
    Je viens de m'apercevoir que je me suis mal exprimé

    La cellule J2 a pour valeur 41

    Etc...

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    ok,

    une solution avec une variable tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim str() As Variant
     
    str = Range("A1:A8")
     
    MsgBox CStr(str(1, 1))

  5. #5
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 43
    Par défaut
    Dans ce cas la la variable Str contient l'ensemble des valeurs de la colonne A .

    Je souhaiterais uniquement les occurences

    A1 41
    A2 41
    A3 41
    A4 42
    A5 43
    A6 44

    Je voudrais que la variable Str contienne uniquement 41 42 43 44

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour tout le monde,

    Partant d'une solution empruntée à Michel_m, je propose une solution par un dictionnaire :
    Données à extraire situées dans la colonne A de la feuille 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub ExtraireValeursUniques()
    Dim liste As Object
    Dim fin As Long, cptr As Long, entree As String
    Dim tablo
     
    With Sheets(1)
         fin = .Columns("A").Cells(.Cells.Rows.Count, "A").End(xlUp).Row
         tablo = .Range("A1:A" & fin).Value
         Set liste = CreateObject("scripting.dictionary")
         For cptr = 1 To UBound(tablo)
              entree = tablo(cptr, 1)
              If Not liste.exists(entree) Then liste.Add entree, "x"
         Next
         MsgBox Join(liste.keys, "; ")
    End With
    End Sub

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/01/2022, 11h24
  2. [AC-2003] Concaténer les valeurs d'une colonne dans une variable
    Par Kiwix dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/04/2011, 10h20
  3. récupérer les valeurs d'une colonne dans une variable
    Par free_dom dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2011, 13h14
  4. Afficher des éléments (variables) d'une colonne dans une combobox
    Par ananis dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/01/2008, 22h27
  5. nom de colonne dans une variable
    Par cyclone_yas dans le forum SQL
    Réponses: 12
    Dernier message: 27/12/2006, 10h41

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