[macro OOo Calc] selection cellule vide

Résolu/Fermé
Didier61 Messages postés 7 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 - 27 oct. 2006 à 23:04
Didier61 Messages postés 7 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 - 23 nov. 2006 à 19:58
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
A voir également:

2 réponses

Didier61 Messages postés 7 Date d'inscription jeudi 26 octobre 2006 Statut Membre Dernière intervention 5 décembre 2006 5
23 nov. 2006 à 19:58
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
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
28 oct. 2006 à 11:44
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