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 :

Recherche_V avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut Recherche_V avec VBA
    Salut à tous !!
    Je suis de retour
    Avec un petit souci avec une recherche V

    En fait j'ai écrit une macro pour une recherche V et elle s'exécute pendant un moment et Excel plante lors de l'exécution parce que j'ai plus de 14000 lignes sur chacunes des feuilles !!!!

    Donc la macro ne s'execute pas jusqu'au bout

    Mon code est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Sub Recherche_v()
     
    Dim i, j, k, s, Code
     
    For i = 2 To Sheets("feuil1").Cells(Rows.Count, 3).End(xlUp).Row
    Code = Sheets("feuil1").Cells(i, 3).Value
     
    With Sheets("feuil2")
    For j = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
    If .Cells(j, 1) = Code Then
    s = .Cells(j, 2).Value
    End If
    Next j
    End With
     
    With Sheets("feuil1")
    .Cells(i, 4) = s
    End With
    Next i
     
    End Sub
    quelqu'un aurait une solution?
    Merci d'avance

  2. #2
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    salut!
    as-tu un message d'erreur ?
    Moi, j'aime pas facebook.

    Musiciens de France

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Non j'ai pas de message d'erreur
    Je vois que la macro commence à s'executer, puique la colonne se la feuil1 s'alimente au fur et à mesure et au bout d'un moment Excel plante !!!

    Je sais pas quoi faire

  4. #4
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    as-tu essayé de remplir tes cellules avec cells(x,y).formulaLocal = "recherchev..." ?

    /me cherche d'où peut venir le plantage excel

    edit: pourrais-tu envoyer un fichier exemple stp ?
    Moi, j'aime pas facebook.

    Musiciens de France

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Désolée mais je n'utilise pas les formules d'excel (que je ne connais pas en plus)
    Je peut joindre un fichier au cas où ....

    Si quelqu'un peut m'aider

  6. #6
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    oui pour le fichier s'il te plait
    (cf mon edit)
    Moi, j'aime pas facebook.

    Musiciens de France

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour tlm,

    Une solution éventuelle avec Find qui sera plus rapide qu'avec deux boucles imbriquées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Recherche_v()
    Dim i As Integer, Code As String, C As Range
     
    For i = 2 To Sheets("feuil1").Cells(Rows.Count, 3).End(xlUp).Row
        Code = Sheets("feuil1").Cells(i, 3).Value
        Set C = Sheets("feuil2").Columns(1).Find(Code, , , xlWhole)
        If Not C Is Nothing Then Sheets("feuil1").Cells(i, 4) = C.Offset(0, 1).Value
    Next i
     
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Voilà le fichier!!

    http://cjoint.com/?fxpQPC1Tzz

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 29
    Points
    29
    Par défaut
    Slt Fring!!
    et merci pour ta réponse
    C'est vrai que là elle s'exécute en quelques seconde
    C'est beaucoup mieux!!!

    Mais à tout hasard y a til plus rapide????

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Fring a écrit :

    Une solution éventuelle avec Find qui sera plus rapide qu'avec deux boucles imbriquées
    C'est bien la seule solution et la différence est d'autant plus importante que le code d'origine semble non adapté en ce qui concerne la 2ème boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Sheets("feuil2")
    For j = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
    If .Cells(j, 1) = Code Then
    s = .Cells(j, 2).Value
    End If
    Next j
    End With
    Ici la recherche continue jusqu'à la dernière ligne de la Feuil2
    même si le code a été trouvé (il aurait fallu ajouter "Exit For" avant "End If" ? )

    Mais de toutes façons il n'y a pas photo entre les 2 solutions.

  11. #11
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Plus rapide je ne sais pas si c'est possible, peut-être une autre méthode mais je ne la connais pas.
    En attendant, 8 secondes pour chercher 2300 codes dans une base de données de 14000 lignes et retranscrire les résultats trouvés, je trouve ça pas mal.

    Je salue Jacques-Jean au passage
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  12. #12
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    et je vous remercie tous deux, je cherchais encore la p'tite bête qui faisait que ça plante, jacques_jean a apporté une réponse on ne peut plus claire
    Moi, j'aime pas facebook.

    Musiciens de France

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

Discussions similaires

  1. afficher la barre de menus complète avec vba
    Par jejestyle dans le forum Access
    Réponses: 7
    Dernier message: 07/09/2006, 18h07
  2. Utilisation de DDERequest avec VBA
    Par queenmum dans le forum Général VBA
    Réponses: 1
    Dernier message: 10/09/2005, 12h24
  3. Ouvrir un document Excel en READ ONLY (avec VBA)
    Par beegees dans le forum Access
    Réponses: 2
    Dernier message: 29/12/2004, 20h48
  4. Créer un formulaire avec VBA ?
    Par Jean Bonnisme dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/10/2004, 10h40
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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