depuis un moment je consulte le forum et grace à vous et vos conseils j'ai pu me lancer dans les macros sous calc.
Je suis entrain de construire une application pour le boulot(déjà bien avancée, et je me heurte à un problème auquel je ne pensais pas : celui de copier une feuille d'un classeur dans un autre classeur en placant la feuille à la fin des feuilles de ce classeur. J'ai bien rechercher sur le forum, notamment le post "copier d'un classeur à un autre déjà existant" mais meme en modifiant je n'y arrive pas c'est pourquoi je me décide à vous demandez de l'aide.
Mon problème:
1) à partir d'un classeur j'ouvre un autre classeur après choix dans une boite de dialoguemon code est le suivant (largement inspiré d'une réponse à un autre utilisateur)
Code : Tout sélectionner
REM ***** BASIC *****
'MODULE DE GESTION DE LA FEUILLE LISTES
OPTION EXPLICIT
Global oDialog1 As Object
Global Chemin As String
Sub ouvrirFichierSelectionne
Dim Fichier As String
Dim Args()
Dim Doc As Object
Dim oDoc as Object
Dim oDesktop As object
Fichier = oDialog1.GetControl("ListBox1").SelectedItem
If Fichier = "" Then Exit Sub
MsgBox "Vous avez choisi : " & Fichier
oDesktop = createUnoService("com.sun.star.frame.Desktop")
Doc = StarDesktop.loadComponentFromURL(ConvertToUrl(Chemin & Fichier ),"_blank",0 ,Args() )
oDialog1.endExecute() 'fermer la boite de dialogue
End Sub
'-----------------------------------------------
Sub fermerBoiteDeDialogue
oDialog1.endExecute()
End Sub
'------------------------------------------------------------------------------------
Sub afficherBoiteDialogue_ListerFichiersConvoc
Dim I As Integer
Dim Fichier As Object
Dim Repert As String
Chemin = "D:\Programmation\"
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
' affecte un titre à la boite de dialgue
odialog1.Title= "Ouvrir liste à mettre en forme"
'lister les noms de fichiers d'un repertoire dans ListBox -----
Repert = Dir(Chemin & "*",0)
Do While Len(Repert) > 0
' alimente le combobox
odialog1.getControl("ListBox1").addItem(Repert , i )
i = i + 1
Repert = Dir()
Loop
'afficher la boite de dialogue
oDialog1.Execute()
End SubJ'ai essaye avec l'enregistreur mais quand je le lance il copie la feuille active du classeur de la macro.
Merci d'avance pour votre aide et pour les webmasters excusez-moi si je n'ai pas bien formuler (surtout le code mais j'ai pas trouvé ou plutôt pas compris)
Alain



