Merci eric de ta reponse. En plus avec les commentaires je peut comprendre.
Mais voilla:
J'ais fais un copier coller (j'ais modifier juste Sub Main qui existais
dejas par Sub eric) de ton code mais il sembles qu'il y ais un petit
probléme:
lorsque je lance la macro sa bloque ici:
osheets.insertnewbyname(mafeuille,0) ' Insérer une feuille en
premiere position
endif
next i
'oSheets.insertNewByName("xx", 0) ' pour info :Créer les feuilles via
leur Index et les Nommer
'oSheets.insertNewByName("11", 1)
'oSheets.insertNewByName("30", 2)
'oSheets.removeByName("Feuille1") ' Supprimer les feuilles par leur Nom
'oSheets.removeByName("Feuille2")
'oSheets.removeByName("Feuille3")
End Sub
sa surligne la ligne : osheets.insertnewyname(mafeuille,0).... Citer
plus haut
et c'a m'affiche cette boite:
runtime error BASSIC.
Une exeption c'est produite:
Type:com.sun.star.uno.RuntimeExeption
Message:.
Bouton:OK
Autre indication qui me semble bizzar: lors du copier coller les 7
derniere lignes entre
next i
et
End Sub
sont en grisé comme des commentaires.
Merci encore
Etienne
eric Multeau a écrit :
Salut,
ci-dessous un code qui devrait correspondre à tes besoins
Sub Main
Fichier1 = thisComponent
Dim oSheets, oSheet as object ' Objet sheets Contenant
toutes les feuilles
oSheets = fichier1.Sheets ' Toutes les feuilles du fichier1
onglet = InputBox("Indiquez le nom de la feuille (Onglet) à Traiter ?
", "Votre Choix") ' Feuille contenant les données
osheet = fichier1.getsheets.getbyname(onglet) ' Référencer cette feuille
oCellCursor = oSheet.createCursor() ' Créer un curseur sur la
feuille calc
oCellCursor.GotoEndOfUsedArea(True)
GetEndRow=oCellCursor.getRangeAddress.EndRow ' Derniere ligne
getEndCol=oCellCursor.getRangeAddress.EndColumn ' Derniere colonne
print "lignes : "; getendrow; " Colonnes : "; getendcol
for i = 1 to getendrow ' On prend la cellule A2 et on va jusqu a
la fin de la colonne
mafeuille = osheet.getcellbyposition(0,i).string ' Colonne A=0
et ligne d indice i
if osheets.hasbyname(mafeuille) then ' Tester si la feuille
existe déjà
wreponse = msgbox("Feuille déjà existante !" & chr(13) & "
Voulez-vous la supprimer ?",4+32) ' Bouton [Oui] [Non] [?]
if wreponse = 6 then ' Réponse Oui
osheets.removebyname(mafeuille) ' supprimer la feuille
else ' sinon
msgbox("Veuillez corriger vos données, à bientôt")
exit sub ' Quitter la macro
end if
else
osheets.insertnewbyname(mafeuille,0) ' Insérer une feuille en
premiere position
endif
next i
'oSheets.insertNewByName("xx", 0) ' pour info :Créer les feuilles
via leur Index et les Nommer
'oSheets.insertNewByName("11", 1)
'oSheets.insertNewByName("30", 2)
'oSheets.removeByName("Feuille1") ' Supprimer les feuilles par leur
Nom
'oSheets.removeByName("Feuille2")
'oSheets.removeByName("Feuille3")
End Sub
Amicalement Eric
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]