[Résolu][Calc] Cellule suivante

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Deimos43
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 03 avr. 2014 01:05

[Résolu][Calc] Cellule suivante

Message par Deimos43 »

Bonjour,

J'ai trouvé une macro qui fonctionne bien pour insérer le jour de la date dans une cellule mais je n'arrive pas a trouver une ligne de commande à ajouter qui me ferait décaler automatiquement d'une cellule vers la droite. Je n'ai jamais fait de programmation, j'ai juste copier-coller le code, d'où mon problème !!!
J'ai essayé pas mal de lignes trouvées sur le net, mais je ne dois pas avoir la bonne syntaxe...systématiquement une erreur ! Donc, après avoir cherché longuement et n'ayant rien trouvé qui corresponde à mon cas, je me tourne vers "ceux qui savent" !!
Ca doit être tellement simple que je dois chercher trop compliqué.

J'espère avoir été assez clair, j'ajoute tout de même le code sur lequel je voudrais avoir cette commande :

Code : Tout sélectionner

REM  *****  BASIC  *****

Sub insertDate
   Dim aLocale as new com.sun.star.lang.Locale, vNumFormat
   Dim oDoc as Object : oDoc = ThisComponent
   Dim oCell as Object : oCell = oDoc.CurrentSelection
   Dim sFormat as String : sFormat = "JJ"
   If oCell.supportsService( "com.sun.star.sheet.SheetCell" ) Then
      oCell.setValue( Now() )
      vNumFormat = oDoc.getNumberFormats().queryKey( sFormat, aLocale, TRUE )
      If ( vNumFormat = -1 ) Then
         vNumFormat = oDoc.getNumberFormats().addNew( sFormat, aLocale )
      End If
      oCell.NumberFormat = vNumFormat
  	End If
  	

End Sub

Voilà, j'espère que je n'ai pas fait de bêtise pour ma première demande et que je pourrais bientôt marquer ce sujet comme résolu !

Merci d'avance.
Dernière modification par Deimos43 le 03 avr. 2014 19:09, modifié 1 fois.
OpenOffice 4.1.0 / W7 64
Avatar de l’utilisateur
Grenouille
ManitOOu
ManitOOu
Messages : 3223
Inscription : 13 janv. 2006 16:21
Localisation : Chasseneuil-du-Poitou / Futuroscope

Re: [Calc] Cellule suivante

Message par Grenouille »

Bonjour,
Deimos43 a écrit :J'ai trouvé une macro
Il est d'usage de donner un lien de l'endroit où tu as eu la macro.
Deimos43 a écrit :systématiquement une erreur !
Laquelle ?
Le mieux est de fournir un classeur qui permette de tester de notre côté.

As-tu simplement essayé l'enregistreur de macro pour cette action ?

A+
OpenOffice 4.1.5 et LibreOffice 5.3.4 (par obligation) sous Windows 7
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 08:05

Re: [Calc] Cellule suivante

Message par joel275 »

Bonjour,

Essaie de rajouter les lignes suivantes à ton code:

Code : Tout sélectionner

Rem Cellule à droite sélectionnée
Dim jAdresse as Variant, jCellule as Object, Li as Long, Col as Long
	jAdresse = oCell.CellAddress
	Li = jAdresse.Row
	Col = jAdresse.Column
	jCellule = oCell.SpreadSheet.getCellByPosition(Col+1,Li)
	ThisComponent.CurrentController.Select(jCellule)
A plus,
Joël
A jour de LibreOffice et de Ubuntu
Deimos43
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 03 avr. 2014 01:05

Re: [Calc] Cellule suivante

Message par Deimos43 »

Bonjour,

Merci pour la rapidité de réponse !

Alors désolé pour le code, je ne me souviens plus d'où il vient, je l'ai copié il y a quelques mois de ca.
Pour les erreurs, j'ai essayé tellement de chose qu'il est difficile de mettre un exemple ! Les deux erreurs que j'avais eu le plus, de mémoire, étaient : Sub non autorisé dans une formule ou un truc comme ca et pas de valeur à un objet renvoyé.
Je pense que tu vois mieux que moi ce que ce doit être.

En attendant c'est parfait, j'ai ajouté le bout de code à ma macro et cela fonctionne impec !

J'avais aussi essayé avec l'enregistreur mais je ne pense pas de la bonne manière; j'ai en fait enregistré le changement de cellule et ajouté l'enregistrement à la macro existante... Ca doit paraitre absurde mais je pensais que ca allait fonctionner !!! Ben non...pas aussi simple que ca.

Bref merci beaucoup pour cette aide qui me fait gagner un peu de temps lors de mes saisies.
J'ai une autre demande beaucoup plus compliquée (enfin pour moi !), j'ai compris qu'il faut que je créé un autre post.

Merci encore joel275.
OpenOffice 4.1.0 / W7 64
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10071
Inscription : 28 août 2010 08:45

Re: [Calc] Cellule suivante

Message par micmac »

Bonjour,
[b][color=#404080]Deimos43[/color][/b] a écrit :J'ai une autre demande beaucoup plus compliquée (enfin pour moi !), j'ai compris qu'il faut que je créé un autre post.
Mais auparavant, n'oubliez pas de baliser [Résolu] Image

Merci
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Deimos43
NOOuvel adepte
NOOuvel adepte
Messages : 14
Inscription : 03 avr. 2014 01:05

Re: [Résolu][Calc] Cellule suivante

Message par Deimos43 »

Oui, merci, je viens de m'en rendre compte !!!!
Le Modérateur a écrit : :alerte: Balisage dans le titre du premier message SVP.Merci.
OpenOffice 4.1.0 / W7 64