[macro OOo Calc] selection cellule vide

Résolu
Bojour à tous
Je rencontre un nouveau problème que je ne parviens pas à résoudre.
Ma macro affiche une feuille dans laquelle je saisi des données dans 2 colonnes : exemple C36:C150 et K36:K150. Je souhaite qu'à l'ouverture de ma feuille la 1° cellule vide dans la colonne C36:C150 soit sélectionnée automatiquement et si toute les cellules de cette zone sont renseignées que la recherche se poursuive dans la 2° colonne K36:K150.
Merci d'avance

2 réponses

  1. Salut lami20j
    Désoler de reprendre plus d'un mois après mais je n'ai pas eu beaucoup de temps pour 'occuper de mon programme.

    Tout d'abord merci pour tes précieuses explications.

    La macro fonctionne parfaitement mais j'ai un petit problème pour lequel je n'ai pas trouvé la solution. J'entre des données dans la cellule qui est sélectionnée mais après quand je clic sur la touche "entrer" ou "tab" rien ne se passe, il faut que je pointe une autre cellule avec la souris pour pouvoir continuer.
    merci d'avance pour ton aide
    5
    1. Modérateur
      Salut,

      Dans un classeur que je l'ai appelé didier61_emptycell
      j'ai écrit un macro (voir plus bas).
      Il s'agit des macros Standard pour ce classeur.
      https://www.cjoint.com/?kCl73cTbPs

      Ensuite il faut faire quelques manips pour qu'il s'exécute à l'ouverture du document.

      1. Menu Outils/Macros/Macro

      Dans la fenêtre qui s'ouvre, côté gauche tu verras
      didier61_emptycell.sxc
       Standard
        selectemptycell (c'est le nom que j'ai donné au module qui contient la macro dans Sub Main)

      https://www.cjoint.com/?kClRrRuyVM
      2. selectionne selectemptycell et fait clic sur Assigner

      Une autre fenêtre s'ouvrira

      3. Dans l'onglet Evénements tu vas choisir dans la fenêtre d'haut l'événement (ton cas Ouvrir un document) et dans la fenêtre de bas/gauche la macro que tu veux exécuter à l'ouverture du document.

      Il ne te restes qu'à faire clic sur le bouton Assigner et tu verras dans la fenêtre du gauche quelque chose de ce genre
      https://www.cjoint.com/?kClRXU6de1

      4. La macro (il faut l'adapter pour tes colonnnes)
      REM  *****  BASIC  *****
      
      Sub Main
      dim ooWorkBook as Object
      dim ooWorkSheets as Object
      dim ooSheet as Object
      
      
      dim x as Long
      dim colAA as Object, colBB as Object
      dim test as Boolean
      
      ooWorkBook=thisComponent
      ooWorkSheets=ooWorkBook.Sheets
      ooSheets=ooWorkSheets.getByName("a")
      
      for x=0 to 9
        colAA = ooSheets.getCellByPosition(0,x)
        if colAA.string = "" then
          ooWorkBook.currentController.Select(colAA)
          test=True
          exit sub
        end if
      next x
      
      if test=false then
        for x=0 to 9
          colBB = ooSheets.getCellByPosition(1,x)
          if colBB.string="" then
            ooWorkBook.currentController.Select(colBB)
            exit sub
          end if
        next x
      end if   
      
      End Sub


      lami20j
      1