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 :

Trouver une colonne répondant à deux critères


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    contrôleuse de gestion
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : contrôleuse de gestion

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Trouver une colonne répondant à deux critères
    Bonjour,

    J'ai un série de colonnes dans un tableau. Seule une d'entre elles a le critère "Actual" dans la ligne 1 et le critère "Janvier" dans la ligne 3.
    Il me faudrait un code qui passe en revue toutes les colonnes du tableau en partant de la première colonne jusqu'à la colonne contenant les deux critères. J'aimerais pour finir que le code me renvoie le numéro de la colonne en question.

    Merci beaucoup beaucoup beaucoup!

    Coraline99

  2. #2
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Bonjour,

    D'abord, ce forum n'est pas fait pour proposer des solutions toutes faites, il faut donc mettre un peu la main à pâte, nous sommes là pour corriger, améliorer, faire comprendre les erreurs, mais pas pour créer depuis le début.

    Voilà donc un algorithme, que tu pourras coder par toi-même, et si jamais tu n'y arrives, postes ici ton code, que nous nous ferons un plaisir de t'aider à corriger (je dis bien aider)

    L'algorithme :

    Pour chaque colonne
    __critere1 = false
    __critere2 = false
    __Pour i allant de 1 à DernièreLigne
    ____Si cellule = "Actual" Alors
    _______critere1 = true
    ____Fin Si
    ____Si cellule = "Janvier" Alors
    _______critere2 = true
    ____Fin Si
    __Next i
    __Si (critere1 et critere2) Alors
    ___Retourne colonne
    ___Exit Sub
    __Fin Si
    Next Colonne

    Voilà, tu n'as qu'une chose à faire, le traduire. Et en plus, c'est de l'algorithme rédigé façon VBA (tout est écrit en langage humain, dans la même structure que le vba)
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Avec une manip manuelle, c'est assez simple, vous avez essayé? ajouter une nouvelle colonne, concaténer avec les critères que vous voulez, trier et vous aurez les doublons ou bien dans un tcd. Il y a aussi plusieurs formules qui peuvent s'appliquer sur la colonne des doublons dans une nouvelle colonne, des exemples ici. J'applique la formule suivante: =NB.SI(BB$2:BB2;BB2)=1 qui renvoie VRAI si ce n'est pas un doublon et faux si c'est un doublon

    Ou alors il faudrait pourquoi une macro serait utile quand il y a des formules ou d'autres manières de faire déjà intégrées dans Excel.

    cordialement

    Pascal

  4. #4
    Futur Membre du Club
    Femme Profil pro
    contrôleuse de gestion
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : contrôleuse de gestion

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour Jeanmidudu,

    Merci beaucoup pour ta réponse rapide! Entre-temps, j'ai trouvé cette solution qui est très proche de la tienne et qui marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MyC()
     
    Dim MyC As Integer
     
    MyC = 1
    For MyC = 1 To 10
    If Cells(1, MyC).Text = "Actual" And Cells(3, MyC).Text = "Janvier" Then
    MsgBox (MyC)
    End If
    Next
     
    End Sub
    @ bpascal123 : Ce bout de code est la première étape d'une macro. Cela ne m'intéresse donc pas de savoir le faire par Excel manuellement. Mais merci quand même!! )

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Parfait,

    Si le problème est résolu, n'oublie pas de cliquer sur pour clore le sujet
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  6. #6
    En attente de confirmation mail
    Homme Profil pro
    Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Gestion comptable - Spécialiste Excel, Vba, - Débutant MySql, Javascript, Python, Php

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Points : 52
    Points
    52
    Par défaut
    @ bpascal123 : Ce bout de code est la première étape d'une macro. Cela ne m'intéresse donc pas de savoir le faire par Excel manuellement. Mais merci quand même!! )
    J'avais pas vu qu'il fallait traverser de colonne en colonne pour appliquer la condition. Même avec cet oubli, j'aurais transposé les données et collé une formule mais ça dépend beaucoup de quelle forme sont les données. Alors la macro que tu as trouvé est peut-être le plus simple

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

Discussions similaires

  1. [XL-2013] Trouver une cellule sur deux critères
    Par philmire dans le forum Excel
    Réponses: 2
    Dernier message: 14/11/2014, 08h28
  2. scinder une colonne en deux selon un critère
    Par fx007 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/06/2008, 11h01
  3. Réponses: 2
    Dernier message: 13/12/2007, 16h56
  4. Séparer une colonne en deux dans excel
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/04/2007, 12h43
  5. resultat d'une colonne en deux colonne
    Par Challenger dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/11/2005, 08h23

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