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

VB 6 et antérieur Discussion :

Simplification de code avec une procedure


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Par défaut Simplification de code avec une procedure
    Bonjour,

    Sur ma feuille frmrecherche j'ai un cmdOk qui me remplis une listview en fonction des selections faites dans des combobox.
    Ca marche tres bien avec une serie de if qui verifie ce qui est demandé au niveau de la recherche.
    Mon probleme c'est qu'une partie de mon code revient plusieur fois.
    Donc je pensais créer une procedure du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Ecrit(ByVal a As Long)
              Set liMyListItem = frmresultat.ListView1.ListItems.Add(, , r.Offset(a, 0).Value)
              liMyListItem.ListSubItems.Add(1) = r.Offset(a, 1).Value
              liMyListItem.ListSubItems.Add(2) = r.Offset(a, 2).Value
              liMyListItem.ListSubItems.Add(3) = r.Offset(a, 3).Value
              liMyListItem.ListSubItems.Add(4) = r.Offset(a, 4).Value
              liMyListItem.ListSubItems.Add(5) = r.Offset(a, 5).Value
              liMyListItem.ListSubItems.Add(6) = r.Offset(a, 6).Value
              liMyListItem.ListSubItems.Add(7) = r.Offset(a, 7).Value
              liMyListItem.ListSubItems.Add(8) = r.Offset(a, 8).Value
              liMyListItem.ListSubItems.Add(9) = r.Offset(a, 9).Value
    End Sub
    Le problème c'est qu' il me dit un objet est requis. Apparament j'ai un probleme avec ma feuille excel.
    J'appele la procedure par
    Comment puis je faire.
    Merci.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben .. ta variable r...? elle est déclaré/initialisée ou ...?

  3. #3
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 22
    Par défaut
    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
    23
    24
    25
    26
    27
    28
    29
     
    Private Sub Cmdok_Click()
    Set r = wsExcel.Cells(1, 1)
        Dim liMyListItem As ListItem
     
    If Cmbchoix().ListIndex = 0 Then
     a = 0
       For y = 0 To 10000
            If Cmbpremierchoix().Text = r.Offset(a, 4).Value Then
                Call Ecrit(a)
            End If
            a = a + 1
            If r.Offset(a, 1).Value = "" Then Exit For
        Next y
    End If
    End Sub
     
    Private Sub Ecrit(ByVal a As Long)
              Set liMyListItem = frmresultat.ListView1.ListItems.Add(, , r.Offset(a, 0).Value)
              liMyListItem.ListSubItems.Add(1) = r.Offset(a, 1).Value
              liMyListItem.ListSubItems.Add(2) = r.Offset(a, 2).Value
              liMyListItem.ListSubItems.Add(3) = r.Offset(a, 3).Value
              liMyListItem.ListSubItems.Add(4) = r.Offset(a, 4).Value
              liMyListItem.ListSubItems.Add(5) = r.Offset(a, 5).Value
              liMyListItem.ListSubItems.Add(6) = r.Offset(a, 6).Value
              liMyListItem.ListSubItems.Add(7) = r.Offset(a, 7).Value
              liMyListItem.ListSubItems.Add(8) = r.Offset(a, 8).Value
              liMyListItem.ListSubItems.Add(9) = r.Offset(a, 9).Value
    End Sub
    Une ideé

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bon il on ne voit toujours pas de déclaration pour la variable r.. ( une ligne Dim...)

    par exemple ...


    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 Cmdok_Click()
    Dim r as range
    Set r = wsExcel.Cells(1, 1)
    
    (...) 
    Call Ecrit(a,r)
    (...)
    
    End sub
    
    Private Sub Ecrit(ByVal a As Long, r as range)
              Set liMyListItem = ...
    (...)

  5. #5
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Ne devrais-tu pas passer r en paramètre dans ta procédure Ecrit?

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par zazaraignée
    Salut

    Ne devrais-tu pas passer r en paramètre dans ta procédure Ecrit?
    bonjour Zaza ... merci pour le rajout d'une description à mes suggestions de modification de codes ici

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

Discussions similaires

  1. Ajouter des champ dans une table avec une procedure sp
    Par Abdou1 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/07/2006, 18h32
  2. Ouverture de fichier avec une procedure !!
    Par pinto_armindo dans le forum Langage
    Réponses: 6
    Dernier message: 27/06/2006, 15h44
  3. help sur le code d'une procedures stockee
    Par omlip dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/08/2004, 18h45
  4. [C#] [Oracle] Probleme avec une procedure stockée
    Par sronin1 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 28/05/2004, 19h04
  5. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00

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