Macro Openoffice Calc

Claire -  
bordelaplage Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

58 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
7
boyington
 
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
0
loks
 
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
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > loks
 
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.
0
Dark Tigrou Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   2
 
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.
2
didou
 
alors j'ai la solution a ton pb, c'est tres simple en fait une fois que tu as tout fait a sevoir l'enregistrement et de la macro il te suffit d'aller sur le bouton que tu as créer, tu fais un clique droit dessus et tu vas sur assigner une marco et la tu precises de quelle macro il s'agit et tu valide par ok et ca devrait etre bon...
voila j'espère que tu t'en s'ortiras a bienôt
0
marquantdidier Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, le lien ne fonctionne pas: la page n'existe plus
0
OOoForum Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   961
 
Oui c'est un peu normal lorsque l'on déterre des sujets de 2005.
0
Doudou95 Messages postés 1561 Date d'inscription   Statut Membre Dernière intervention   275
 
+1 mais au moins ca veut dire que lui il cherche avant de poster :)
0
jackryan195 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   6
 
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
2
boyington
 
Salut Lami20j
Serait-il possible de te faire parvenir le fichier complet ? et par quel moyen ? sur le site ?
JM
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
1
loks
 
ok en fait c du vba(ce qu'on fait avec excel...)

pour etre plus clair sur la question je souhaites savoir si avc open office on peut mettre exactement les mm codes sur excel. en ajoutant juste OPTION VBASupport 1 ou il faut kan mm modifier kelkes codes.

merci
0
OOoForum Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   961 > loks
 
Cela ne sert à rien de répondre dans de vieux sujets (2005). A cette époque, cette option n'existait pas.
0
loks > OOoForum Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
loks > OOoForum Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention  
 
slt

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

merci
0
Doudou95 Messages postés 1561 Date d'inscription   Statut Membre Dernière intervention   275
 
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
1
Bid0uille Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Pas besoin de macro, tu as le menu Fichier / Envoyer
0
loks > Bid0uille Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
slt

tu veux m'aider à savoir pourquoi mon calcul suivant ne marche pas sur open office alors qu'il marche sur excel2003

xd = IIf(IsDate(xd), xd, Date)

merci
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > loks
 
Salut,

Pourquoi tu n'utilses plutôt un if pour voir
De toute façon IIF corresponds à
If condition Then
   instruction
else
   instruction
end if
--
106485010510997108
0
loks > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
slt

comme tu l'a di c pareil mais je veux pas modifier mon programme car il a été réalisé par une autre personne il ya plus de 10 ans.
sinon est ce que je peux t'envoyer le fichier ppour que tu regarde un peu
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > loks
 
Salut,

Mets ton fichier sur cjoint.com
Je vais regarder ce soir.
Dit aussi ta version d'openoffice.org
0
Doudou95 Messages postés 1561 Date d'inscription   Statut Membre Dernière intervention   275
 
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)
1
manaelle
 
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
1
lato
 
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
1
jackryan195
 
Bonjour,
Malheureusement je n'ai eu aucune réponse à mon problème et je galère toujours avec mes coller/copier
0
L'Ultime Coiffeur > jackryan195
 
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 =)
0
bruno
 
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.
1
OOoForum Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   961
 
Voici un exemple de code pour réaliser un copier coller entre deux classeurs :
https://forum.openoffice.org/fr/forum/ftopic6371.html
Bon développement
0
Sipa
 
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
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Tu peux le mettre sur cjoint.com
Et tu m'envoies le lien pour le télécharger.
1
boyington
 
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
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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.
1
boyington
 
Bonsoir Lami20j,
J'espère avoir envoyer sous le bon format (Modèle) mais ca me parait bien léger !
Bonne soirée
JM
1
loks
 
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).


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
1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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.
1
loks
 
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?
1
tomylef Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Caïndymion Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
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 ;)
0
bordelaplage Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour ,

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
0