[macro OOo Calc] selection cellule vide

Résolu
Didier61 Messages postés 7 Statut Membre -  
Didier61 Messages postés 7 Statut Membre -
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. Didier61 Messages postés 7 Statut Membre 5
     
    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
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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