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 :

Problème avec .Find sur la première case


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Par défaut Problème avec .Find sur la première case
    Bonjour à tous,

    Je suis perplexe face à un problème. J'utilise une macro VBA 6 avec Excel.
    Voici mon problème :

    Mettons que les cases A1 et A5 aient la valeur "Boom".
    Ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range(Columns(1),Columns(1)).Find("Boom", lookAt:=xlWhole, SearchDirection:=xlNext).Row
    renvoie la valeur 5.

    C'est-à-dire qu'il ignore la toute première case de la colonne. Il en va de même si j'avais posé le même problème, mais horizontalement avec Rows. Par contre, si on supprime "Boom" dans la case A5, alors il renvoie effectivement la case 1.

    J'ai impérativement besoin de récupérer les coordonnées de la première instance de "Boom", quand elle est sur la première ligne ou colonne (je dois pouvoir utiliser Columns ou Rows dans Range).

    Pouvez-vous m'aider? Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    Dans l'aide de Find il est précisé
    After Argument de type Variant facultatif. Cellule après laquelle vous souhaitez commencer la recherche. Cela correspond à la position de la cellule active lorsqu'une recherche est effectuée à partir de l'interface utilisateur. Notez que l'argument After doit correspondre à une seule cellule dans la plage. Rappelez-vous que la recherche commence après cette cellule ; la cellule spécifiée n'est pas recherchée jusqu'à ce que la méthode reviennent à cette cellule. Si vous ne spécifiez pas cet argument, la recherche commence après la cellule située dans le coin supérieur gauche de la plage.
    donc il faut dire de commencer par la dernière cellule de la plage pour qu'il trouve la première de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim lastCell As String
     
    'Définir quelle est la dernière cellule utilisé dans la colonne A
    lastCell = Cells(Rows.Count, 1).End(xlUp).Address
     
    'Effectuer la recherche aprés la derniere cellule force à trouver la premiere
    msgbox Range("A1:" & lastCell).Find("Boom", After:=Range(lastCell), lookAt:=xlWhole).Row

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Par défaut
    Merci de ta rapidité et de ta réponse Samuel.

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

Discussions similaires

  1. [XI] problème avec groupe sur un champ trié par origine ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 11/04/2007, 15h31
  2. problème avec select sur onchange
    Par Kerod dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/12/2005, 14h05
  3. Problèmes avec INTERSECT sur MYSQL
    Par zarbydigital dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/09/2005, 13h18
  4. Problème avec OnDrawColumnCell sur un DBGrid
    Par n1portki dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/09/2005, 04h18
  5. Problème avec RDTSC sur K6-III
    Par le mage tophinus dans le forum x86 32-bits / 64-bits
    Réponses: 17
    Dernier message: 30/09/2003, 09h43

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