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 :

VBA Rechercher colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut VBA Rechercher colonne
    Bonjour,

    Je suis débutant en VBA et je cherche a trouver dans le numero de la colonne ou il trouve une valeur spécifique.

    Exemple : j'ai un tableau avec a la ligne des valeurs (val1, val2, val3)

    J'ai un code qui doit trouver dans quels colonne il trouve la valeur val1 avec Find mais pas moyen de la faire marcher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numcolonnevaleur = Sheets("Ref").Column.Find(Listedevaleur)
    numcolonnevaleur est le numero qu'il devrai trouver en résultat de ma recherche
    ref est la feuille ou il y a mes valeur
    listedevaleur est en faites une case ou il y a une combobox et la valeur qui est choisi est (soit val1, val2 ou val3)

    Si il a choisi val1 alors listedevaleur = val1

    Donc je chercherai dans mon code a trouver dans la feuille "ref" le numero de la colonne ou il y a val1

    Merci


    EDIT : quand j'éxécute mon code il me dit Erreur 438 "Propriété ou Methode non gérer par cet objet

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Worksheets(1).Range("a1:a500")  ' à adapter
        Set c = .Find(Listedevaleur, lookin:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address  'c.Column pour la colonne
      ....
        End If
    End With
    Ceci tiré de l'aide gratuite de vba

  3. #3
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut
    Je n'arrive pas vraiment a comprendre comment faire

    J'ai fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Sheets("Ref")
                   numcolonnevaleur = Column.Find(Listedevaleur)
            End With
    Il me fait Erreur Objet Requis

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour tu as pris ce qui n'est pas utile et jeté ce qui est utile regarde l'aide sur le Set et le with et trouve le quel doit être conservé et comment utiliser le with (il te manque un . )

    De plus j'aimerais bien savoir ce que tu veux dire par column car il faut utiliser un range avat le find le plus simple étant de faire par exemple

  5. #5
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut
    Bah c'est sa le truc c'est que je c'est pas vraiment comment mi prendre...

    pour Column.Find je sais même pas si c'est bon...


    en faite je connais deja la ligne qui est 46 .

    Et avec ce code ci, je souhaiterai trouver le numero de la colonne ou on retrouve la valeur choisi (variable "listedevaleur")

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    balors le columnbs n'est pas bon
    tu peux chercher dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    worksheets("Tafeuille").Range("A46:IV46").find(....
    Je te laisse fouiller les contribution forum excel sous forum contribuer en page 2 pour avoir la dernière colonne

    Je te laisse également lire l'aide avant de t'aider d'avantage. Essaye de corrigé le reste, et montre ce que tu as fais

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    F1 ne mords pas et c'est gratuit pour un départ

  8. #8
    Membre confirmé Avatar de Maiden002
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 137
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Sheets("Ref")
            Set c = Worksheets("Ref").Range("a1:a500").Find(listedevaleur)
            If Not c Is Nothing Then
                   numcolonnevaleur = c.Column
            End If
            End With
    j'ai fais ceci, sa marche mais pour numcolonnevaleur il m'affiche tout le temps 1 en résultat

    sachant que val1 est colonne 1 , val2 colonne 2 , etc

    si je choisi val1, il me fais le bon résultat car c bien colonne 1 mais par contre pour val2 il me di toujours colonne 1.

  9. #9
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Tu cherche dans la colonne "A"
    tu auras toujours un 1 au mieux

    et ça de trop: tu as déjà mis un With...

    Changes moi ça

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/03/2015, 11h31
  2. Réponses: 1
    Dernier message: 18/12/2013, 13h14
  3. VBA : recherche valeur tableau et copie colonne
    Par siouplait dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/12/2013, 14h36
  4. [XL-2007] VBA - Key Avec Recherche Colonne
    Par tixilee dans le forum Excel
    Réponses: 2
    Dernier message: 07/09/2012, 15h51
  5. [XL-2007] recherche VBA multi-colonnes
    Par kineton dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 05/01/2011, 01h11

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