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 :

code de recherche bug


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut code de recherche bug
    Bonjour,j'ai crée un petit programme permettant d'effectuer de la saisie administrative.
    Je vous présente rapidement son fonctionnement pour m'aider à resoudre mon problème.
    Je peux effectuer de la saisie à partir d'une userform et quand je valide tous s'enregistre dans la feuille saisie (chaque dossier représente une ligne;par exemple A1:agence, B1:groupe, C1:affectataire,D1:date...)
    Je souhaite avoir des statistique sur ces dossiers en fonction de 2 critères:l'agence et la date(qui seront bornés :date de début et date de fin)
    J'ai donc crée un bouton qui ouvre une userform et qui permet de selectionner l'agence dans une combobox1 et saisir la date de début dans une texboxdate1 et la date de fin dans la texboxdate2.
    Je souhaite que en cliquant sur le bouton OK, que le programme recherche dans la feuille "saisie", toutes les lignes qui comportent dans leur colonne A l'agence(choisie dans la combobox1) et dont la date se trouvant dans la colonne D est compri dans l'intervalle saisie (dans les 2 textboxdate).
    Quand le programme trouve ces 2 critéres réunies sur la même ligne, il devra copier les colonnes A,I,K,AE et AF dans la feuille "traitement" et ensuite le programme continue la recherche ce juska se qu'il est fini d'analyser la feuille saisie.
    Quand tous les dossiers répondant à mes critéres se trouveront dans la feuille "traitement" je pourrais me débrouiller tous seul pour programmer des statistiques.
    J'éspére avoir été le plus clair possible.

    Je vous joint les codes derriére le bouton OK, ces codes "beug" car j'ai l'impression qu'il "beug" au moment de commencer à rechercher un deuxième dossier répondant au critéres car le programme fait le débogage après avoir copier un seul dossier dans la feuille traitement(le débogage se fait sur le code entre <---- et ----> ci dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    If ComboBox1 = "" Then
    MsgBox "Vous n'avez pas saisie d'agence !", vbExclamation
    End If
    If TextBoxDate1 = "" Or TextBoxDate2 = "" Then
    MsgBox "Saisie incomplète !", vbExclamation
    Else
    If CDate(TextBoxDate1) > CDate(TextBoxDate2) Then
    MsgBox "   La date de début est " & vbCr _
    & "supérieur à la date de fin !", vbExclamation
    Exit Sub
    End If
    End If
    Application.ScreenUpdating = False
    à partir de là
    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
    Ecrt = 0
    For i = 3 To Sheets("Saisie").Range("A65536").End(xlUp).Row
    <----If Sheets("Saisie").Cells(i, 1) = ComboBox1 And CDate(Sheets("Saisie").Cells(i, 4)) >= CDate(TextBoxDate1) And _
        CDate(Sheets("Saisie").Cells(i, 4)) <= CDate(TextBoxDate2) Then---->
          Ecrt = Ecrt + 1
          Sheets("Traitement").Cells(Ecrt, 1) = Sheets("Saisie").Cells(i, 1)
          Sheets("Traitement").Cells(Ecrt, 2) = Sheets("Saisie").Cells(i, 9)
          Sheets("Traitement").Cells(Ecrt, 3) = Sheets("Saisie").Cells(i, 11)
          Sheets("Traitement").Cells(Ecrt, 4) = Sheets("Saisie").Cells(i, 31)
          Sheets("Traitement").Cells(Ecrt, 5) = Sheets("Saisie").Cells(i, 32)
      End If
    Next i
    MsgBox Ecrt & " ligne(s) correspondante(s) trouvée(s) !"
     
    Call titre
    Application.ScreenUpdating = True
    UserForm4.Hide
    End Sub
    De plus je vous passe le programme tel qu'il "beug" pour que je l'éspére vous trouviez la solution.

    Cdt

    Piéce jointe: http://cjoint.com/?izkaPMspuV
    Pour la recherche prenez l'agence: AE17 79 et comme date 01/01/2008 au 31/12/2008 car 2 dossiers répondent à ces critéres

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    problème résolu du à une erreur de saisie ds la feuille "saisie",
    Cdt

  3. #3
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonjour,


    au moment du "débeugage" c'est quoi le message ..? qu'elle est la valeur de i (place le curseur sur i dans le code pour voir l'infobulle) il y as quoi dans la ligne correspondante de ta feuille...

    pour t'aide au déboggage tu peu aussi éclater ta ligne conditionnelle if..en utilisant des variables..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim st1 as string
    Dim  d1 as date
    dim d1Saisie as date 
    st1 = Sheets("Saisie").Cells(i, 1)  
    d1 = CDate(Sheets("Saisie").Cells(i, 4))
    d1Saisie = CDate(TextBoxDate1) 
    ...
    if st1=ComboBox1 and d1=d1saisie...
    ainsi si tu as un probléme dans tes convertions en date tu pourra mieux cerner ou ...

    [edit] oups on c'est croisé j'ai été trop long pour répondre tant pis je laisse tout .. j'étais pas loin de la solution..

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

Discussions similaires

  1. recherche code macro recherche excel.
    Par baldron dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/04/2008, 14h52
  2. Code de recherche par rapport à une base de données
    Par mariafan dans le forum Langage
    Réponses: 5
    Dernier message: 11/03/2008, 18h17
  3. [VBA] code pour recherche automatique de données
    Par lg022 dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/02/2007, 10h20
  4. [Conception] soucis avec mon code de recherche par un ou plusieurs critères
    Par jolipepage75 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 11/06/2006, 02h59
  5. [Recherche] bug ?? feature ??
    Par Maxoo dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 16/05/2006, 13h35

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