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 :

question sur FIND et FOR EACH ... LIKE


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Par défaut question sur FIND et FOR EACH ... LIKE
    bonjour à tous,

    Je butte sur la fonction recherche: FIND
    J'ai une variable : TEMP qui prend plusieurs valeurs.
    je dois chercher chacune de ces valeurs dans un fichier Excel et renvoyer la ligne associée.
    Jusque là pas de problème.
    Ce qui m'embête plus c'est que TEMP peut ne pas être dans le fichier.
    Alors lorsque j'utilise la fonction FIND et que je lance ma macro si la valeur ne se trouve pas dans le fichier cela me renvoie une erreur de compilation 91.

    Question: comment ignorer cette erreur et gérer le fait que FIND n'aboutis pas ?

    J'ai bien essayé de passer par la fonction FOR EACH ... LIKE mais la encore je butte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For Each c In  [A1:AA200]
       If c.Value = temp '= test ou TEST 
           temp = c.Row
       End If
    Next
    Ma variable TEMP peut être en minuscule ou pas dans le fichier.
    Quelle instruction mettre dans la fonction FOR EACH pour spécifier de ne pas respecter la casse?

    Merci par avance à tous pour vos réponses.

    M.A.S

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Une astuce de contournement:

    Passe les caractères récupérés par la cellule en majuscule, idem pour ta variable Temp, donc:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each c In  [A1:AA200]
       If ucase(c.Value) = ucase(temp) 'Ucase te permet de renvoyer toujours TEST et plus Test ou même test ou encore TeSt, ou encore... 
           temp = c.Row
       End If
    Next
    A+

  3. #3
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    bjr,

    Pour le Find, il faut récupérer le Range et vérifier s'il vaut Nothing :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim lFind As Range
    Set lFind = Sheets("Feuil1").Range("A:A").Find("test")
    If lFind Is Nothing Then
        MsgBox "non trouvé"
    Else
        MsgBox "non trouvé en adresse: " & lFind.Address
    End If

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 40
    Par défaut
    merci à tous pour votre rapidité et précision !
    Que du bonheur ce forum...

Discussions similaires

  1. Problème sur une boucle For Each
    Par nanoo79 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/11/2014, 09h14
  2. question sur les boucles for
    Par rob1son76 dans le forum Excel
    Réponses: 2
    Dernier message: 13/01/2010, 13h02
  3. Réponses: 2
    Dernier message: 07/05/2007, 16h46
  4. question sur find
    Par deubelte dans le forum MATLAB
    Réponses: 1
    Dernier message: 23/03/2007, 19h16
  5. [VBA-E]PB sur une boucle for each next
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2006, 15h47

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