Complément à mon message précédent.
 
Je n’avais pas mis le code pour effacer le contenu des cellules.
Petite particularité de OOo, il faut une valeur associée à
ClearContents.
Ici j’ai mis 4 qui correspond à STRING. Il efface donc les chaînes de
caractères (pas les formats ou valeurs numériques, …)
Pour la liste exhaustive de ces valeurs, cf. SDK : 
http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/CellFlags.h
tml
 
 
Code complété:
Sub nomDesFeuilles
            doc=thisComponent
            lesFeuilles=doc.sheets
            feuille1=lesFeuilles.getByName("Feuille1")
            
            nbfeuilles=lesFeuilles.count
            
            'effacer les cellules de la colonne A non vides
            ligne=1
            while feuille1.getcellrangeByName("A" & ligne).string<>""
                        feuille1.getcellrangeByName("A" &
ligne).clearcontents(4)
                        ligne=ligne+1
            wend
            
            for i=1 to nbfeuilles
                        nomFeuille=lesFeuilles.getByIndex(i-1).name
                        feuille1.getcellrangeByName("A" &
i).setString(nomFeuille)
            next
 
End Sub
 
Bien cordialement.
-------------
Pascal PIERRE (alias Chaliapine)
 
-----Message d'origine-----
De : Lixon-photo.com [mailto:[EMAIL PROTECTED] 
Envoyé : mercredi 30 janvier 2008 10:57
À : prog@fr.openoffice.org
Objet : [prog] macro VBA à transformer en Basic
 
 
Bonjour à tous et toutes,

    J'ai besoin de votre aide afin de transformer une macro VBA en Basic
afin qu'elle fonctionne dans mon classeur Calc

Voici le code VBA:

       Sub FeuilleMalListes()
             dim I As Integer
             On Error GoTo ErrorTrap
'feu1 est le nom attribué à la cellulue A2 dans la feuille '12 Feuilles'
'

             Range(Range("Feu1"),
Range("Feu1").End(xlDown)).ClearContents
                      For I = 1 To Sheets.count
                            Range("Feu1"). Offset(I - 1, 0).Value =
Sheets(I).Name
                      Next I
ErrorTrap:
       Exit Sub
End Sub

 J'attends avec impatience vos lumières, car ne connaissant pas bien le
langage, je ne vois pas quoi changer pour que le code fonctionne.

D'avance Merci
         Ksandre

Répondre à