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 :

Problème d'affichage avec OLE


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Problème d'affichage avec OLE
    Bonjour.

    J'ai un controle OLE qui contient une feuille excel.
    Quand j'affiche le form qui contient le controle OLE, la feuille excel n'est pas complète.
    J'ai changé le heigth du form et du controle OLE mais ça ne change rien.

    Est ce qq'un a une idée?

  2. #2
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    ta feuille excel vient d'ou? tu la charge à partir d'une base de données?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Citation Envoyé par jadey
    ta feuille excel vient d'ou? tu la charge à partir d'une base de données?
    Je comprends pas bien la question.
    J'ouvre l'application excel par le code et je rempli la feuille avec des données de ma bdd.
    Quand le traitement est fini j'ai environ 150 lignes sur la feuille excel, mais OLE ne contient que les 40 premières lignes alors que si j'ouvre la page excel, il y a bien 150 lignes.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Comme j'ai toujours pas la solution, je reviens avec ma question.

    Comment récuépérer tout le contenu d'une feuille excel dans un controle OLE.
    ma feuille excel fait 150 ligne et je n'en ai que 40 dans le controle OLE.

    J'ai ajouté un flatscrollbar mais j'ai toujours que 40 lignes

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Et si tu nous montrait le code gérant ton contrôle OLE ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Bon ben voilà le code qui ouvre Excel avec le contenu
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Private Sub Form_Load()
        Me.Height = MDI.Height - 500
    '    FlatScrollBar1.Height = Me.Height
        Dim SoldeB As Double
        SoldeB = FrmDivers.TxRapB(0).Text
        Set appExcel = CreateObject("Excel.Application")
        Set wbExcel = appExcel.Workbooks.Open(App.Path & "\rapprochement.xls")
        Set wsExcel = wbExcel.Worksheets(1)
        wsExcel.Cells(4, 2) = "Au : " & FrmDivers.DTPicker3.Value
        wsExcel.Cells(7, 7) = SoldeC
        wsExcel.Cells(7, 7).NumberFormat = "#,##0.00"
        'efface les lignes des enregistrements non comptabilisés
        r = 10
        Do While wsExcel.Cells(r + 1, 3) <> "Solde comptable théorique"
            wsExcel.Rows(r).Delete
        Loop
        wsExcel.Rows(r).Insert Shift:=xlDown
        'écrire les montants non passés en compta
        Set rc = New ADODB.Recordset
        On Error Resume Next
        rc.Open "SELECT * FROM Rappro_B WHERE compte_rap = " & MonCpte & " " & _
            "AND (pointage_rap IS NULL) " & _
            "ORDER BY date_saisie", Ct, adOpenDynamic, adLockOptimistic
        r = 9
        While Not rc.EOF
            wsExcel.Cells(r, 4) = rc.Fields(1)
            wsExcel.Cells(r, 6) = rc.Fields(2)
            If rc.Fields(4) <> 0 Then
                wsExcel.Cells(r, 7) = rc.Fields(4)
            Else: wsExcel.Cells(r, 7) = rc.Fields(5) * -1
            End If
            wsExcel.Cells(r, 7).NumberFormat = "#,##0.00"
            wsExcel.Rows(r).Insert Shift:=xlDown
            r = r + 1
            rc.MoveNext
        Wend
        r = 1
        Do
           If wsExcel.Cells(r, 2) = "Solde en banque" Then
                wsExcel.Cells(r, 7) = SoldeB
                Exit Do
            End If
            r = r + 1
        Loop
        'efface les lignes des enregistrements en banque
        r = 19
        Do While wsExcel.Cells(r + 1, 3) <> "Solde bancaire théorique"
            wsExcel.Rows(r).Delete
        Loop
        wsExcel.Rows(r).Insert Shift:=xlDown
        'écrire les montants non passés en compta
        Set rc = New ADODB.Recordset
        rc.Open "SELECT date_ecriture, Ref_paiement," & _
                " libelle, debit, credit FROM Rappro " & _
                " WHERE (pointage IS NULL)AND " & _
                " compte = " & MonCpte & " AND " & _
                "(date_ecriture <= #" & Format(FrmDivers.DTPicker3, "mm/dd/yyyy") & "#) " & _
                " ORDER BY date_ecriture ASC", Ct, adOpenDynamic, adLockOptimistic
        r = 18
        While Not rc.EOF
            wsExcel.Cells(r, 4) = rc.Fields(0)
            wsExcel.Cells(r, 5) = rc.Fields(1)
            wsExcel.Cells(r, 6) = rc.Fields(2)
            If rc.Fields(3) <> 0 Then
                wsExcel.Cells(r, 7) = rc.Fields(3)
            Else: wsExcel.Cells(r, 7) = rc.Fields(4) * -1
            End If
            wsExcel.Cells(r, 7).NumberFormat = "#,##0.00"
            wsExcel.Rows(r).Insert Shift:=xlDown
    '        r = r + 1
            rc.MoveNext
        Wend
        Fermer_Excel
        OLE1.SourceDoc = App.Path & "\rapprochement.xls"
        OLE1.CreateLink App.Path & "\rapprochement.xls"
    End Sub
    Sub Fermer_Excel()
        Set wsExcel = Nothing
        wbExcel.Close savechanges:=True
        Set wbExcel = Nothing
        appExcel.Quit
        Set appExcel = Nothing
        OLE1.SourceDoc = ""
    End Sub
    Voilà tout le code est là.
    Donc si vous avez une solution..... merci

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

Discussions similaires

  1. Problème d'affichage avec IE
    Par sheepk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/11/2005, 13h00
  2. Réponses: 6
    Dernier message: 19/05/2005, 11h06
  3. problème d'affichage avec printf
    Par sorari dans le forum C++
    Réponses: 12
    Dernier message: 08/03/2005, 18h30
  4. Réponses: 6
    Dernier message: 19/10/2004, 13h46
  5. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59

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