VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Macro Openoffice Calc

Claire - Dernière réponse le 31 mai 2011 à 10:43
Je viens de transférer un fichier Excel sous OpenOffice, j'avais un bouton macro me permettant d'ajuster la hauteur des lignes qui ne fonctionne plus. J'ai voulu créer cette macro dans OpenOffice calc, sans connaitre Basic je l'ai enregistré. Outils / Macro / Enregistrer / puis j'ai sélectionné tout le document et en cliquant sur un inter-ligne au hasard, toutes les lignes s'ajustent, puis Terminer l'enregistrement.
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.
Lire la suite 

Macro Openoffice Calc »

110 réponses
Réponse
+6
moins plus
Salut,

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
boyington - 18 févr. 2009 à 14:36
Bonjour,
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
loks - 10 avril 2009 à 10:53
bonjour tt le monde!

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
lami20j- 10 avril 2009 à 11:30
Salut,

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.
Ajouter un commentaire
Réponse
+1
moins plus
C'est malheureusement normal... Les macros sont difficilement importable dans OpenOffice.
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.
marquantdidier- 28 mai 2011 à 19:53
Bonjour, le lien ne fonctionne pas: la page n'existe plus
OOoForum- 30 mai 2011 à 19:50
Oui c'est un peu normal lorsque l'on déterre des sujets de 2005.
Doudou95- 31 mai 2011 à 10:43
+1 mais au moins ca veut dire que lui il cherche avant de poster :)
Ajouter un commentaire
Réponse
+1
moins plus
Salut Lami20j
Serait-il possible de te faire parvenir le fichier complet ? et par quel moyen ? sur le site ?
JM
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir Claire,

ESt-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 Sub
La 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
OOoForum- 11 avril 2009 à 15:13
Cela ne sert à rien de répondre dans de vieux sujets (2005). A cette époque, cette option n'existait pas.
loks - 14 avril 2009 à 09:55
salut
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
loksOOoForum - 14 avril 2009 à 12:10
slt

s'il te plai est ce que tu pourai regarder mon fichier comme ça tu va mieux comprendre ma question?

merci
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous,
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
Caïndymion- 19 juil. 2007 à 14:54
Met ça dans une macro que tu nomme incrementation :

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 ;)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour moi mon problèeme est le suivant: je fais une programme pour le "boulot" et le problème c'est que jusqu'à présent même sans trop de connaissance j'ai pu modifié le prog sur excel et sur openoffice calc seulement il y avait un macro sur le prog excel (microsoft) qui permettait en cliquant dessus d'envoyer le fichier sur lequel on est en pièce jointe à une adresse donnée (tout cela contenu dans le macro) sachant qu'on ne programme plus de la même mannière sur openoffice calc pourriez vous me passer les lignes du programme car je suis niveau zéro pour cela :) (visula basic le macro normalement) Merci beaucoup
lokslami20j - 16 avril 2009 à 10:23
Bonjour lami20j,

Est ce que tu peux m'aider à résoudre un petit probléme pour aujourd'hui.
Bon voila, j'ai fait une macro qui me sauvegarde automatiquement un fichier document.csv puis le ferme(l'ancien fichier étant ecrasé). Sachant que les cellules dans document.Csv seront recopiés (à l'aide d'une autre macro qui fonctionne sans aucun probléme) dans un autre fichier projet.xls ma macro de sauvegarde automatique génére des erreurs. En effet, les tabulations qui existent dans les cellules recopiées sont remplacés par des points virgules ce qui fausse mon classeur projet.xls et ainsi tous les calculs réalisés dedans.

Mon probléme est de savoir si c'est possible d'éviter les points virgules et laisser les tabulations. On m'a déjà proposé des solutions mais elles ne fonctionnent pas: avant dans explorateur windows -> option des dossiers -> type de dossiers j'ai remplacé les Microsoft Office Excel Separated Values File par Microsoft Office Excel Semicolon <gras><gras><gras>Separated</gras></gras> Values File puis ensuite par Microsoft Office Excel Comma Separated Values File</gras>.
Cependant sa ne change rien.

Pouvez vous m'aidé?
lami20j- 16 avril 2009 à 10:52
Salut,

Il ne faut pas le sauvegarde en .csv mais en format Texte (séparateur: tabulation) (*.txt)
ActiveWorkbook.SaveAs Filename:= "Classeur.txt", FileFormat:=xlText
loks - 6 mai 2009 à 10:39
Bonjour lami20j,

Cela fait longtemps que l'on se croise plus sur le forum. J'espere que tout va pour le mieu.
Je ne sais pas si tu te souviens mais je t'avais donné plusieurs de mes fichiers pour que tu regarde mais je n'ai toujours pas de réponse.
Est ce que je peux savoir où on en est?

merci
Ajouter un commentaire
Réponse
+0
moins plus
il me le faut sous forme de macro car c'est très important et la version EXCEL (microsoft) l'a en macro c'est pour simplifier au maximum ils cloiquent et ca envoie... la macro est sur EXECL il me la faut adaptée sur la verion CALC (openoffice)
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir à tous
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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour
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
jackryan195 - 21 oct. 2007 à 10:34
Bonjour,
Malheureusement je n'ai eu aucune réponse à mon problème et je galère toujours avec mes coller/copier
L'Ultime Coiffeur - 16 avril 2008 à 10:36
Bonjour,

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 =)
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour, je suis novice dans la programmation, j'aurais voulu savoir si il y avait un moyen de transférer d'un tableau open office, des données bien précise vers un autre tableau open office déja existant par le biais d'une seule touche autre que copier coller ou truc du genre.Peux etre avec VB, j'en sait rien mais bon.
OOoForum- 17 avril 2008 à 22:34
Voici un exemple de code pour réaliser un copier coller entre deux classeurs :
http://user.services.openoffice.org/fr/forum/ftopic6371.html
Bon développement
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous, un gros problème pour le développement d'un projet perso, Besoin d'aide

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
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

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
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Tu peux le mettre sur cjoint.com
Et tu m'envoies le lien pour le télécharger.
Ajouter un commentaire
Réponse
+0
moins plus
Merci Lami20j
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
Ajouter un commentaire
Réponse
+0
moins plus
Re,

Ben, si c'est OpenOffice.org alors sauvegarde le dans un format OpenOffice.org
Tu peux compresser le fichier s'il est trop grand.
Ajouter un commentaire
Réponse
+0
moins plus
Bonsoir Lami20j,
J'espère avoir envoyer sous le bon format (Modèle) mais ca me parait bien léger !
Bonne soirée
JM
Ajouter un commentaire
Réponse
+0
moins plus
Re,

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).


http://cjoint.com/?ergREklbHk
http://cjoint.com/?ergSoNWYBD
http://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
Ajouter un commentaire
Réponse
+0
moins plus
Re,

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.
Ajouter un commentaire
Réponse
+0
moins plus
Re,

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?
Ajouter un commentaire
Ce document intitulé « Macro Openoffice Calc » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Macro Openoffice Calc - page 2