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

Excel Discussion :

Comment récupérer la valeur d'une colonne [XL-2013]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 8
    Points
    8
    Par défaut Comment récupérer la valeur d'une colonne
    Bonjour tout le monde,

    Voilà j'ai besoin de votre aide, je voudrais récupérer la valeur de la colonne où la cellule contient 1 voilà un exemple :



    A | B | C | D
    ------------------------
    1 | 0 | 0 |
    0 | 1 | 1 |
    1 | 1 | 0 |


    Le résultat voulu :


    A | B | C | D
    ------------------------
    1 | 0 | 0 | A
    0 | 1 | 1 | B,C
    1 | 1 | 0 | A,B


    Merci !

  2. #2
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 676
    Points : 1 118
    Points
    1 118
    Par défaut
    Bonjour Cyrano2022,

    essayez la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCATENER(SI(ET(A21=1;B21=1;C21=1);"A,B,C";SI(ET(A21=1;B21=1);"A,B";SI(ET(A21=1;C21=1);"A,C";SI(ET(B21=1;C21=1);"B,C";SI(A21=1;"A";SI(B21=1;"B";SI(C21=1;"C";""))))))))
    ou celle là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(A21:C21;1)>2;"A B C";SI(NB.SI(A21:C21;1)=2;SUPPRESPACE(SUBSTITUE("A B C";SUBSTITUE(ADRESSE(LIGNE();EQUIV(0;A21:C21;0);4;1);LIGNE();"");""));SUBSTITUE(ADRESSE(LIGNE();EQUIV(1;A21:C21;0);4;1);LIGNE();"")))

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 665
    Points : 5 803
    Points
    5 803
    Par défaut
    Bonjour,
    Une autre proposition,
    Juste une concaténation de si:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A2;"A,";"")&SI(B2;"B,";"")&SI(C2;"C,";"")
    Mais cette formule laisse une dernière virgule inutile

    D'où l'utilisation de la fonction gauche pour restreindre le nombre de caractère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE(SI(A2;"A,";"")&SI(B2;"B,";"")&SI(C2;"C,";"");(SOMME(A2:C2)-1)*2+1)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Merci voilà j'ai trouvé une solution avec VBA :

    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
    17
    Function SelectedColumns(R As Range) As String 
    Dim i As Long, n As Long, count As Long 
    Dim cols As Variant 
     
    n = R.Columns.count 
    ReDim cols(1 To n) 
    For i = 1 To n 
    If R.Cells(1, i).Value <> "" Then 
    count = count + 1 
    cols(count) = Split(R.Cells(1, i).Address, "$")(1) 
    End If 
    Next i 
    If count > 0 Then 
    ReDim Preserve cols(1 To count) 
    SelectedColumns = Join(cols, ",") 
    End If 
    End Function
    Merci pour vos réponses !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/04/2011, 08h50
  2. En lotus script, comment récupérer la valeur d'une colonne
    Par oliverscan dans le forum Lotus Notes
    Réponses: 3
    Dernier message: 07/04/2010, 10h13
  3. Réponses: 1
    Dernier message: 21/11/2005, 12h07
  4. Récupérer la valeur d'une colonne de la ligne d'un DBGrid
    Par Oluha dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/10/2005, 10h22

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