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 fonction find


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Problème fonction find
    salut la communauté

    j'ai un petit problème en fait je cherche à trouvé une chaîne de caractère dans une colonne d'une autre feuille
    voilà mon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For l = 5 To 2000
    If Worksheets(2).Cells(l, 51).Value = "y" Or Worksheets(2).Cells(l, 51).Value = "Y" Then
        Act = Worksheets(1).Cells(l, 13).Value
    Set cherche = Worksheets(1).Columns(13).Cells.Find(what:=Worksheets(2).Cells(l, 13).Value)
        If cherche Is Nothing Then
        Else
        Worksheets(1).Cells(ligne1, 51).Value = "y"
        End If
     
        End If
    mais quand je le lance ça me met erreur '1004' erreur définie par l'application ou par l'objet.

    Je ne comprends pas mon erreur

    merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Act = Worksheets(1).Cells(l, 13).Value
    Set cherche = Worksheets(1).Columns(13).Cells.Find(what:=Worksheets(2).Cells(l, 13).Value)
    Essaie en enlevant Cells et en spécifiant explicitement que tu recherches dans la valeur des cellules (xlValues) et non dans les formules, ainsi que dans une partie du texte (xlPart) et non pas la totalité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set cherche = Worksheets(1).Columns(13).Find(what:=Worksheets(2).Cells(l, 13).Value, LookIn:=xlValues, LookAt:=xlPart)
    Autrement, si ça ne fonctionne toujours pas, sur quelle ligne apparaît l'erreur ?
    Comment est déclaré Cherche ? qui devrait être As Range...

    If Worksheets(2).Cells(l, 51).Value = "y" Or Worksheets(2).Cells(l, 51).Value = "Y" Then
    Tu pourrais simplifier en forçant la casse de vérification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If LCase(Worksheets(2).Cells(l, 51).Value) = "y" Then
    MPi²

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    merci pour tes réponses je vais essayer tout ça

  4. #4
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    Aucune variable n'est déclarée dans ton code ! La variable Act est définit puis non utilisée et la variable Ligne1 n'est définie nulle part... Peut-être que c'est fait dans le code complet mais le bout de code que tu fournis est incohérent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim l As Integer
    Dim Ligne1 As Integer
    dim Act as ...
    Dim cherche As Range
     
    For l = 5 To 2000
    Ligne1 = ...
    If UCase(Worksheets(2).Cells(l, 51).Value) = "Y" Then
        Act = Worksheets(1).Cells(l, 13).Value
        Set cherche = Worksheets(1).Columns(13).Cells.Find(what:=Worksheets(2).Cells(l, 13).Value)
        If Not cherche Is Nothing Then Worksheets(1).Cells(Ligne1, 51).Value = "y"
    End If
    À plus,

    Thauthème

    Je suis Charlie

Discussions similaires

  1. [XL-2013] Problème fonction "Find" pour valider donnée
    Par Loanito31 dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 24/12/2013, 13h57
  2. Problème Fonction Find
    Par Sankae dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/05/2013, 21h38
  3. Problème fonction find
    Par nini94 dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/02/2011, 16h28
  4. [XL-2003] Problème Fonction Find
    Par Crusoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/01/2011, 22h57
  5. [VBA-E]Problème avec la fonction Find
    Par Mirx1 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 27/04/2006, 18h43

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