Lors d'un clik sur l'image on arrete le processus Excel et on ferme la form

cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 12 mai 2008 à 12:08
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 12 mai 2008 à 21:01
bonjour
sur ma form j'ai une listview avec des données qui vient de ma base ACCESS.
lorsque je clik sur un bouton j'ai une image qui vient avec un progressbar, pour envoyer les données de la listview dans Excel.
le code du bouton

Private Sub bp_excel_Click(Index As Integer)
frm_pause.Show 'afficher la form
Call exportexcel 'lancer le module pour excel
frm_pause.Hide 'fermer la form
End Sub

Sub exportexcel()
Dim i As Integer, j As Integer
'Demarrer Excel
Set DocExcel = CreateObject("Excel.Application")


'Supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ...
DocExcel.DisplayAlerts = False


'Ajout eun nouveau classeur
DocExcel.Workbooks.Add
'Selectionne la feuille du classeur
DocExcel.Sheets("Feuil2").Select
'On supprime cette feuille
DocExcel.ActiveWindow.SelectedSheets.Delete
'On fait pareil avec la feuille 3
DocExcel.Sheets("Feuil3").Select
DocExcel.ActiveWindow.SelectedSheets.Delete
'On selectionne la feuille 1 (la seule qui reste)
DocExcel.Sheets("Feuil1").Select
'On change le nom de celle ci
Dim R
Set R = CreateObject("WScript.Shell")
'DocExcel.Sheets("Feuil1").Name = Left("Liste Des films", 31)
   
'On change la largeur de la colonne
DocExcel.Columns("A:A").ColumnWidth = 30
DocExcel.Columns("B:B").ColumnWidth = 30
DocExcel.Columns("C:C").ColumnWidth = 30
DocExcel.Columns("D:D").ColumnWidth = 30
DocExcel.Columns("E:E").ColumnWidth = 30
DocExcel.Columns("F:F").ColumnWidth = 20
'On Aligne les cellules des colonnes
DocExcel.Columns("A:F").HorizontalAlignment = 3
'DocExcel.Columns("A:F").HorizontalAlignment = 3


'On rempli les cases
EcrireExcel Chr(65), 1, "Nom de l'Enfant"
DocExcel.Selection.Font.Bold = True


For i = 65 To 70                            'Colonnes
    EcrireExcel Chr(i), 1, Frm_Accueil.List.ColumnHeaders(i - 64).Text
    DocExcel.Selection.Font.Bold = True    If Frm_Accueil.List.ColumnHeaders(i - 64).Width 0 Then DocExcel.Columns(Chr(i) & ":" & Chr(i)).ColumnWidth 0
    DocExcel.Cells(1, i - 64).Borders.Value = 1
    DocExcel.Cells(1, i - 64).Borders(3).LineStyle = 0
     Next i
For j = 1 To Frm_Accueil.List.ListItems.Count    'Lignes
    'EcrireExcel "A", j + 1, "" & j & ""
    EcrireExcel "A", j + 1, Frm_Accueil.List.ListItems(j).Text '
    frm_pause.Progbar.Value = 100 * j / Frm_Accueil.List.ListItems.Count
   For i = 65 To 70                        'Colonnes
        EcrireExcel Chr(i + 1), j + 1, Frm_Accueil.List.ListItems(j).ListSubItems(i - 64).Text
        DocExcel.Cells(j + 1, i - 64).Borders.Value = 1
        DocExcel.Cells(j + 1, i - 64).Borders(3).LineStyle = 0
        DocExcel.Cells(j + 1, i - 64).Borders(4).LineStyle = 0
    Next i
'-- Bordure de la derniere colonne
    DocExcel.Cells(j + 1, 7).Borders.Value = 1
    DocExcel.Cells(j + 1, 7).Borders(3).LineStyle = 0
    DocExcel.Cells(j + 1, 7).Borders(4).LineStyle = 0
 Next j
'On rend Exel visible
If Not Save Then DocExcel.Visible = True
Set DocExcel = Nothing
End Sub

je voudrais lors d'un clik sur l'image on arrete le processus Excel et on ferme la form,est ce possible
merci
Petchy
A voir également:

3 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 14:21
Salut,

Sert toi peut-être d'un variable en boolean, que tu vérifies dans ta procédure : exportexcel, et quand elle passe à TRUE(donc click sur l'image, tu sorts "proprement") de ta procédure puis ferme la form...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
12 mai 2008 à 19:29
Salut Exploreur

comment intégrer une variable en boolean et ensuite l'interpréter pour sortir proprement  
merci
petchy
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 21:01
Re, 

Moi ce que je vois(pas sûr que cela soit la meilleurs solution), c'est dans tes boucles :

En déclartion général de ta Form :

Dim bStop As Boolean

Dans tes boucles :

For .................
' Le test de la variable
 DoEvents If bStop Then Set DocExcel Nothing : bStop False : Exit Sub
 

Dans l'EVE click de l'image

bStop = True

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
Rejoignez-nous