Macro à la seconde...

Masseur -  
yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tous le monde,

Je voudrais savoir si il est possible sur ods de produire un bouton qui m'affiche instantanément l'heure à la seconde près. Et aussi si je peux lui demander d'arrondir automatiquement à 59s partant du principe que toute minute commencée est due.

PS : je cherche aussi un programmeur à l'aise sur les appli. de gestion de temps.

Merci à la communauté et à ce site.

Alain.

6 réponses

  1. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    Bonsoir
    la macro ci dessous à associer à un bouton

    sub heure
    rem  variables
    dim document   as object
    dim oSheet as object 
    oSheet = ThisComponent.sheets.GetByName("feuille1") 
    oSheet.getCellRangeByName ("A22").value = (now)
    end sub


    avec A22 la cellule destination à mettre au format heure
    0
    1. Masseur
       
      Merci c'est gentil mais je ne vois pas où mettre ces infos. Lorsque j'ai créé mon bouton à partir de mon formulaire je vais dans Contrôle et après ?
      Je ne suis pas super à l'aise, je crée un modèle de travail pour le programmeur qu'il me faudrait pour lancer l'appli.

      Amicalement
      Alain
      0
  2. Masseur
     
    Merci Mytå, mais en fait je sais faire un bouton, ma macro est déjà très avancée mais je ne sais pas trop comment interpréter les données de yclik.

    Je veux qu'en appuyant sur un bouton, l'heure que j'entre actuellement à la main s'auto-génère par ce bouton et ce, à la seconde.

    Cordalement/

    Alain
    0
    1. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
       
      Re le Forum

      Tu n'as pas lu le lien . . .

      Une fois celui-ci dessiné, il doit être en principe sélectionné par défaut (matérialisé par des « poignées de sélection » vertes). Faire un clic droit sur le bouton et choisir dans le menu contextuel « contrôle ». Choisir l'onglet « Evénements », et à droite de la ligne « Lors du déclenchement » cliquer sur le bouton [...] pour choisir la macro. Un autre dialogue s'affiche, cliquer sur « Assigner » pour aller sélectionner la macro (elle doit préexister). Valider les dialogues.

      Mytå
      0
  3. Masseur
     
    Ok, sur l'onglet évènement je suppose que je dois cliquer sur la 1ère ligne "Approuver l'action" puis dans la fenêtre suivant encore "Approuver l'action" mais ensuite, quelle macro dois-je sélectionner ?
    Parmi elles il y a bien le nom de mon logiciel avec pour sous-dossier un document nommé "Standard" mais il n'y a rien dedans.

    Cordialement
    Alain
    0
  4. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    Bonjour
    Pour inclure la macro dans le classeur
    -Copier le code sur le forum sans les N° de lignes
    -ouvrir le classeur
    -ALT+F11
    sélectionner le classeur ouvert dans la fenêtre de sélection de la boite de dialogue avec le +
    -bouton "Nouveau" et OK
    -Coller le code dans l'onglet macro
    -enregistrer avec l'icône "enregistrement"
    -fermer la fenêtre par la croix en haut à gauche

    sur le classeur affecter la macro comme indiqué dans le commentaire de Myta
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Masseur
     
    Ok ça marche, vous êtes des Dieux, je suis hyper content. Par contre je voulais que mes secondes soient arrondies à 59s sur le principe de "toute minute commencée est due".
    2eme élément, sachant que j'ai 2 champs horaires à renseigner, un au commencement l'autre à la fin, comment créer un bouton chacun sachant que lorsque je copie mon bouton et tente d'en modifier la destination ça change aussi celle de l'autre ?

    Alain
    0
  7. yclik Messages postés 3874 Date d'inscription   Statut Membre Dernière intervention   1 609
     
    Bonsoir
    a tester

    REM  *****  BASIC  *****
    sub heure
    rem variables
    dim document as object
    dim oSheet as object
    Dim monheure as date, messecondes as integer, maminute as integer, monheure_due as date
    oSheet = ThisComponent.sheets.GetByName("feuille1")

    monheure=(now)' extraction heure
    msgbox(monheure) ' pour test à supprimer si besoin
    messecondes =VAL(Right(monheure,2)) 'extraction secondes en numérique
    maminute = VAL(MID(monheure,15,2) 'extraction minute en numérique

    If messecondes >0 then monheure_due = CDATE(LEFT(monheure,14)&(maminute+1)&":00") else monheure_due = monheure

    rem resulat dans les cellules
    oSheet.getCellRangeByName ("A22").value = monheure_due
    oSheet.getCellRangeByName ("A23").value = monheure_due

    end sub
    0