Macro Openoffice Calc
bordelaplage Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Ensuite lorsque j'exécute la macro, rien ne se passe. ESt-ce un problème de fonctionnalité, de langage ou autre...
Merci de votre aide.
Nb: si vous voulez m'envoyer la macro écrite, je serai ravie.
- Exemple macro libreoffice calc
- Tableau word exemple - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Url exemple - Guide
- Libreoffice - Télécharger - Suite bureautique
- Exemple de code ascii - Guide
58 réponses
Le problème porte sur une macro enregistrée dans Calc destinée à ajuster la hauteur des lignes, qui ne s’exécute pas après son enregistrement et son lancement. Un intervenant propose d’activer le support VBA (OPTION VBASupport 1) pour permettre l’exécution de code VBA dans OpenOffice, ce qui implique que la macro est potentiellement écrite en VBA. Il est aussi rappelé que les macros ne sont pas aisément transférables entre MS Office et OpenOffice et qu’il faut souvent les reprogrammer en OpenOffice Basic, avec une ressource pédagogique recommandée. En pratique, la solution consiste à développer ou adapter la macro directement en OpenOffice Basic et à la lier à un bouton d’action, plutôt que d’espérer une compatibilité directe avec du VBA sans adaptation.
si tu mets cette option au début de ta macro
OPTION VBASupport 1
le code vba pourra s'exécuter sur ooopenoffice.org ;-)
donc pas besoin d'une conversion
Les macros ne sont pas gérés de la même façon car le code source des formats MS office n'est pas disponible. Il faut donc y aller à coup de reprogrammation pour retrouver les précieuses macros qu'on utilise tous les jours... :(
Pour créer tes macros, je te revois vers le lien suivant qui peut être utile : http://perso.wanadoo.fr/pedagologic/documents/MacroOOo.pdf
En espérant que cela t'aidera.
voila j'espère que tu t'en s'ortiras a bienôt
Dans le cadre de mon boulot, je dois faire passer un copier dans une feuille calc. dans un document writer à un endroit précis
Le mieux serait d'avoir une macro dans calc avec un bouton d'action.
Merci d'avance
Serait-il possible de te faire parvenir le fichier complet ? et par quel moyen ? sur le site ?
JM
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionESt-ce un problème de fonctionnalité, de langage ou autre..
Oui, c'est un problème de language. Dans le pack MsOffice on utilise VBA (Visual Basic pour Application ) et dans Open Office on utilise OooBasic.
Voilà ta macro.
Sub ajuster_lignes() ThisComponent.currentController.activeSheet.Rows.Height = 400 End SubLa macro ajuste les lignes de la feuille active ( 400 c'est pour une hauteur de 0,40 cm)
Si tu ne sais pas où tu doit écrire le code dit le, je t'expliquerai.
lami20j
en fait il s'ajit pas de pirater, il s'agit de faire un bon boulot dans le meilleur délai.
si je fini pas ce projet d'ici 3 semaines je risque de me faire virer. s'il vous plait aidez moi à transferer les fichiers excel vba 2003 vers Open Office 3.0 Basic.
les fichiers sont hyper nombreux(entreprise de + de 700 salariers) et je peux pas me permettre de faire de la reprogrammation sous Open Office j'en suis incapable (niveau 0).
quand je mets OPTION VBASupport 1 je me rend compte qu'il accepte certaines expressions mais pas d'autres comme Application.Run ("Showall"). aidez moi à trouver la solution.
merci
j'ai un gros problème qui me bloque dans l'avancement d'un projet tres important,
j'ai un tableau mais d'une cellule a une autre le contenu n'est pas le même je voudrais donc sue par magie lorsque le contenu est different une ligne vide apparaisse.
est ce possible?
si oui pourriez vous m'aidez svp
je rencontre le même probleme que vous : macro openoffice calc
avez vous trouver une solution depuis 2005 ?
Merci pour votre réponse
@+
lato716@hotmail.com
Tu veux faire quoi exactement parce que pour moi ton message n'est pas clair...
Tu veux copier une feuille calc entière vers writer ? ou juste une partie de la feuille ?
Tu veux copier une macro ? un contenu de cellule ?... etc...
Quelques petites infos plus précises aiderait pour voir ton problème =)
https://forum.openoffice.org/fr/forum/ftopic6371.html
Bon développement
Je vous transmets ci dessous une macro VB, qui me permet de transposer des valeurs vers un tableau dans la première ligne vide. Je ne sais pas la transformer en Ooo BASIC.
Sub transpose_dans_tableau()
'Atteindre une feuille et mémoriser les données
Sheets("Feuil1").Select
Range("C4:C21").Select
Selection.Copy
'Test pour détermminer la ligne où coller les infos dans le tableau
Sheets("Feuil2").Select
valeurD12 = Range("D12").Value
If valeurD12 = "" Then
Range("D12").Select
Else
Range("D11").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("D" & ligne_active_base + 1).Select
End If
'Memorise le n° de la ligne où coller'
ligne_active_base = ActiveCell.Row
'Collage avec transposition'
Range("D" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'Rendre vierge la feuille'
Sheets("Feuil1").Select
Range("C4:C10,C12:C21").Select
Selection.ClearContents
Range("C4").Select
'Aller dans un autre tableau'
Sheets("Feuil3").Select
Range("B6").Select
End Sub
Tu gardes le mot clé que pour les commentaires, mais d'après ce que j'ai vu il n'y a pas de commentaires, donc tu peux enlever Rem
Je te l'ai fait parvenir je l'ai sauver sous MS 97 mais je m'aperçois qu'il ne fait que une centaine de Kbt alors que c'est beaucoup plus ?
N'aurais-pas du le sauver sur .ODP ?
Merci
Ben, si c'est OpenOffice.org alors sauvegarde le dans un format OpenOffice.org
Tu peux compresser le fichier s'il est trop grand.
J'espère avoir envoyer sous le bon format (Modèle) mais ca me parait bien léger !
Bonne soirée
JM
Merci pour tout ce que tu fais!!
Malheureusement mon fichier est apparemment trop grand pour cjoint.com mais j'ai supprimé plusieurs lignes pour qu'il soit adaptable et enfin je l'envoie par plusieurs morceaux(tous sont utiles pour que la macro fonctionne).
https://www.cjoint.com/?ergREklbHk
https://www.cjoint.com/?ergSoNWYBD
https://www.cjoint.com/?ergSLVehjk
ces trois fichiers sont hyper importants alor il doivent etre dans le bon repertoire que tu choisira.
il y'a ensuite le gros fichier(la ou il ya les macros) mais il est trop grand pour cjoint.com?? ta une idée pour ke je te le fasse parvenir? par mail par exemple
je l'envoie par plusieurs morceaux(tous sont utiles pour que la macro fonctionne).
Je vais mélanger les pinceaux.
Ce que tu as mis ce sont des fichier CSV donc je ne vais pas avoir des macros dedans.
Ce que j'ai besoin c'est d'envoyer ton fichier excel qui contient les macros
Je vais m'en occuper moi même pour l'ouvrir avec openoffice.
Essaie de compresser ton fichier avant de l'envoyer.
excuse moi tu peux me trouver nul c normal je le suis je pense car je ne sais plus comment faire pour compresser un fichier?
J'aimerais savoir si il est possible de faire un bouton dans openOffice calc qui lorsque l'on appuierai dessus, incrémenterai la valeur d'une case?
En fait il faudrait d'abord cliquer sur la case qu'on veut puis cliquer sur le bouton pour incrémenter la valeur de cette case.
Est-ce possible??
Cordialement
sub Incrementation
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = "1"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
Ensuite tu as plus qu'a crée un bouton et en lui linkant ta macro pour qu'elle se déclenche quand tu appuie sur le bouton.
Enjoy ;)
Je cherche en vain une personne qui peut m'aider à améliorer un programme déjà réalisé avec OPEN OFFICE 4.0.1 sur 2 feuilles
Il faut prolonger ce programme non terminé sur les 3 & 4 éme feuille
Les explications & fichiers sont ici :
http://www.technifree.com/modules/newbb/viewtopic.php?start=30&topic_id=1803&viewmode=flat&order=ASC
PS sinon pouvez m'orienter vers d'autres personnes ou sites
C'est URGENT svp , du aux retards dans mes recherches qui s'accumulent depuis ........
Merci pour votre attention et votre aide
J'ai 56 ans ,séparé, à la recherche d'un emploi
En échange je donne ( chéques cadeaux , maillot PSG Ibrahimovicou Beeckham , réveil Harley Davidson.........NEUFS)
Si vous voulez me joindre :
s.patrick315@aliceadsl.fr
J'ai le problème suivant, toute ma macro affiche 'Rem' au début de chaque ligne ? et quand je corrige toutes les lignes sans les 'Rem' et que je réédite la macro tout est revenu comme dans l'exemple si dessous ?
J'ai un fichier "Fabien.XLT"
Merci
Rem Attribute VBA_ModuleType=VBAFormModule
OPTION VBASupport 1
Sub Commande
Rem Private Sub CommandButton6_Click()
Rem
Rem End Sub
Rem
Rem Private Sub CommandButton8_Click()
Rem Sheets("Data").Select
Rem ActiveSheet.Shapes("WordArt 4").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem Range("E1").Select
Rem ActiveSheet.Paste
Rem Selection.ShapeRange.IncrementLeft -70.5
Rem Selection.ShapeRange.IncrementTop -8.25
Rem Range("E3").Select
Rem Dim vFichier As String, vChemin As String
Rem vChemin = "d:\FG entreprise\Factures\"
Rem vFichier = vChemin & ("F") & ("_") & ActiveSheet.Range("H1") & ("_") & ActiveSheet.Range("F8")
Rem ActiveWorkbook.SaveAs Filename:=(vFichier)
Rem End Sub
Rem
Rem Private Sub arretroyal_Click()
Rem
Rem End Sub
Rem
Rem Private Sub DEVIS_Click()
Rem Sheets("Data").Select
Rem ActiveSheet.Shapes("WordArt 3").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem Range("F1").Select
Rem ActiveSheet.Paste
Rem Selection.ShapeRange.IncrementLeft -76.5
Rem Selection.ShapeRange.IncrementTop -9.75
Rem Selection.ShapeRange.IncrementLeft -3#
Rem Selection.ShapeRange.IncrementTop -0.75
Rem Range("H1:I1").Select
Rem End Sub
Rem
Rem Private Sub devisrenvoyer_Click()
Rem With ActiveSheet.PageSetup
Rem .BlackAndWhite = False
Rem End With
Rem ActiveSheet.PrintOut
Rem With ActiveSheet.PageSetup
Rem .BlackAndWhite = True
Rem End With
Rem ActiveSheet.PrintOut
Rem End Sub
Rem
Rem Private Sub Facture_Click()
Rem Sheets("Data").Select
Rem ActiveSheet.Shapes("WordArt 4").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem Range("E1").Select
Rem ActiveSheet.Paste
Rem Selection.ShapeRange.IncrementLeft -35.25
Rem Selection.ShapeRange.IncrementTop -11.25
Rem Range("H1:I1").Select
Rem End Sub
Rem
Rem Private Sub Image1_Click()
Rem
Rem End Sub
Rem
Rem Private Sub print_couleur_bw_Click()
Rem With ActiveSheet.PageSetup
Rem .BlackAndWhite = False
Rem End With
Rem ActiveSheet.PrintOut
Rem With ActiveSheet.PageSetup
Rem .BlackAndWhite = True
Rem End With
Rem ActiveSheet.PrintOut
Rem With ActiveSheet.PageSetup
Rem .BlackAndWhite = False
Rem End With
Rem End Sub
Rem
Rem Private Sub Sfacture_Click()
Rem Dim vFichier As String, vChemin As String
Rem vChemin = "c:\MN entreprise\Factures\"
Rem vFichier = vChemin & ("F") & ("_") & ActiveSheet.Range("H1") & ("_") & ActiveSheet.Range("F8")
Rem ActiveWorkbook.SaveAs Filename:=(vFichier)
Rem End Sub
Rem
Rem Private Sub Svdevis_Click()
Rem Dim vFichier As String, vChemin As String
Rem vChemin = "d:\FG entreprise\Devis\"
Rem vFichier = vChemin & ("D") & ("_") & ActiveSheet.Range("H1") & ("_") & ActiveSheet.Range("F8")
Rem ActiveWorkbook.SaveAs Filename:=(vFichier)
Rem End Sub
Rem
Rem Private Sub TVA21_Click()
Rem ActiveWindow.ScrollRow = 20
Rem Range("G47").Select
Rem Sheets("Data").Select
Rem Range("A4").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Range("H47:I47").Select
Rem Sheets("Data").Select
Rem Range("B4").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Sheets("DF").Select
Rem End Sub
Rem
Rem Private Sub TVA6_Click()
Rem Range("G47").Select
Rem Sheets("Data").Select
Rem Range("A3").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Range("H47:I47").Select
Rem Sheets("Data").Select
Rem Range("B3").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Range("A48").Select
Rem End Sub
Rem
Rem Private Sub TVACC_Click()
Rem Range("G47").Select
Rem Sheets("Data").Select
Rem Range("A6").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Range("H47:I47").Select
Rem Sheets("Data").Select
Rem Range("B6").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Application.CutCopyMode = False
Rem Range("B46").Select
Rem Sheets("Data").Select
Rem ActiveSheet.Shapes("AutoShape 1").Select
Rem Selection.Copy
Rem Sheets("DF").Select
Rem ActiveSheet.Paste
Rem Selection.ShapeRange.IncrementLeft 47.25
Rem Selection.ShapeRange.IncrementTop -1.5
Rem Range("A48").Select
Rem End Sub
Rem
Rem Private Sub UserForm_Click()
Rem
Rem End Sub
Rem
End Sub
oui j'ai essayé OPTION VBASupport 1 marche à merveille.
cependant est ce que ça marche pour tt les programmes VB??
merci de votre aide!!
parallelement j'ai une autre question:
est ce que vous pouvez m'aider sur un point particulier qui me bloque énormément.
en fait j'arrive pas à executer pas à pas mes macros (disons que je connai pas du tt comment faire sur open office). si j'appuis sur f8 j'execute une macro(la premiere) mais aprés j'arrive plus à en sortir et à executer les suivantes.
merci de votre attention
cependant est ce que ça marche pour tt les programmes VB??
Ne confonds pas VB avec VBA.
Pour la deuxième question il faut un peu plus de détails.