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]

Répondre à