Msflexgrid vers excel [Résolu]

elamlki 3 Messages postés dimanche 27 mars 2005Date d'inscription 2 septembre 2006 Dernière intervention - 1 sept. 2006 à 12:21 - Dernière réponse : elamlki 3 Messages postés dimanche 27 mars 2005Date d'inscription 2 septembre 2006 Dernière intervention
- 2 sept. 2006 à 22:47
Slt les amis
je ve que qlq un m'aide a propos de ce sujet
j une msflexgrid dans une feuille vb et je veux la transferer vers un classeur excel automatiquement
merci de me repondre cher amis
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 1 sept. 2006 à 12:25
3
Merci
tu veux, mais crois tu que nous nous voulions ?

Fait attention aux termes que tu utilises, là tu nous impose quelque chose, nous ne sommes pas tes employés... (comme signalé dans le règlement de Codes-Sources : on n'exige pas, on demande !)

Tu devrais plutôt dire : j'aimerai, ou je voudrais, mais pas JE VEUX

Sinon, voici un petit bout de code pour commencer (à adapter selon ton besoin). Il est basé sur un ListView, mais la logique reste la même pour un flexgrid :

    Set oExcel = CreateObject("excel.application")
    If oExcel Is Nothing Then
   
        Call MsgBox("Impossible d'exporter vers le format excel : Excel n'a pas été trouvé sur la machine.", vbOKOnly + vbExclamation, "Exportation impossible")
   
    End If
    Let Screen.MousePointer = vbHourglass

    oExcel.Visible = True
    oExcel.Workbooks.Add.Activate
    DoEvents
   
    With oExcel.Worksheets("Feuil1")
   
        Let iIndexColonne = 1
        Let iIndexLigne = 1
       
        For Each oFor2 In lstListeAttente.ColumnHeaders
       
            Let .Cells(iIndexLigne, iIndexColonne) = oFor2.Text
            Let iIndexColonne = iIndexColonne + 1
            DoEvents
           
        Next oFor2
       
        Let iIndexColonne = 1
        Let iIndexLigne = iIndexLigne + 1

        For Each oFor1 In lstListeAttente.ListItems
       
            Let .Cells(iIndexLigne, iIndexColonne) = oFor1.Text
            Let iIndexColonne = iIndexColonne + 1
            For Each oFor3 In oFor1.ListSubItems
               
                Let .Cells(iIndexLigne, iIndexColonne) = oFor3.Text
                Let iIndexColonne = iIndexColonne + 1
               
            Next oFor3
       
            Let iIndexColonne = 1
            Let iIndexLigne = iIndexLigne + 1
            Let .Range("A:" & Chr(65 + lstListeAttente.ColumnHeaders.Count - 1)).RowHeight = 12

        Next oFor1
    
        Let .Range("A1:" & Chr(65 + lstListeAttente.ColumnHeaders.Count - 1) & "1").Font.Bold = True
        Call .Range("A1:" & Chr(65 + lstListeAttente.ColumnHeaders.Count - 1) & "1").EntireColumn.AutoFit
 
    End With
   
    Let Screen.MousePointer = 0
    Call MsgBox("L'exportation de la liste est terminée", vbOKOnly + vbInformation, "Exportation finie")

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
elamlki 3 Messages postés dimanche 27 mars 2005Date d'inscription 2 septembre 2006 Dernière intervention - 2 sept. 2006 à 22:47
0
Merci
Merci vraiment mon pote pour votre aide
et excuse moi pour le terme   vous pouvez constaté que c ma premier participation
je m'excuse une 2eme fois, j v changer mes terme mon ami
alors mon ami j'aimerai bien que le code que vous m'avez envoyer soit remplir de petit commentaire pour que je puisse l'adapter comme je souhaite
a l'attente de votre reponse chez ami, Merci bien
 
Commenter la réponse de elamlki

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.