Bonjour, j’ai créé une macro pour qu’elle sélectionne mon tableau et qu’elle en fasse un tableau croisé dynamique.
Mais ça ne marche pas, ça me met ce message d’erreur : Erreur de syntaxe BASIC. Attendu : Sub.
je ne sais donc pas quoi faire …
bonne journée
Bonjour @Sylar
Ta procédure doit commencer par une instruction sub
suvi du nom de la procédure et terminer par end sub
. Par exemple :
Sub CreerTCD
End sub
Le message indique qu’il manque la ligne avec Sub
. Cela peut être lié à une autre procédure du même module qui ne serait pas correctement “appariée” (sub avec end sub, with sans end with, if sans end if, etc.)
[Ajout 01-04-20 10:00]
J’ai mis en forme ta macro mais elle ne peut générer le message d’erreur que tu indiques. Comme je l’écrivais ci-dessus l’erreur doit être ailleurs dans ton module.
De toute façon il n’est pas possible de générer une table dynamique par une macro enregistrée. Il faut recourir à l’API de programmation et c’est un exemple assez complexe pour débuter (voir ici et là).
Je peux donner un exemple mais il te faudra l’adapter à tes données et cela supposera de maîtriser un peu…
Cordialement
Je ne connais absolument rien à tout ça donc je vais tenter d’autres choses, cependant comment je fais pour règler mon problème de module ? parce que je viens de me rendre compte que je ne peux pas faire de macro non plus juste pour mettre du texte en rouge par exemple … Le même message d’erreuur s’affiche
@Sylar le mieux est de supprimer tout ce qu’il y a dans le module ou, si tu veux garder des procédures dont tu es sûr du fonctionnement, tu crées un nouveau module (clic droit
sur l’onglet du Module1▸Insertion
▸Module Basic
et tu copies-colles ce dont tu es sûr.
d’accord merci beaucoup !
Le problème c’est que c’est libreoffice qui l’a faite tout seul :
sub table_dyna_inventaire
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:SelectData", "", 0, Array())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:DataDataPilotRun", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataPilotExec", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:NumberFormatIncDecimals", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:NumberFormatDecDecimals", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "ToPoint"
args6(0).Value = "$H$6"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args6())
end sub
désolé il ne veut pas mettre les lignes à la ligne