[Résolu] [Calc] deplacer curseur en fonction critère

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 !
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

[Résolu] [Calc] deplacer curseur en fonction critère

Message par bebertdu01 »

Bonjour,

Suite au post suivant trouve sur votre forum,
https://forum.openoffice.org/fr/forum/v ... =8&t=63594

je souhaiterais deplacer le curseur en fonction de criteres pré-défini. Mais je ne sais pas adapter le code,

Dans mon cas, je souhaiterais en fonction d'un critère definit dans une cellule, que la macro recherche le terme utilise, et deplace automatiquement le curseur dessus.

pourriez-vous m'aider SVP'?
TEST CURSEUR.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par bebertdu01 le 17 févr. 2021 19:03, modifié 1 fois.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 946
Inscription : 19 août 2018 05:20

Re: [Calc] deplacer curseur en fonction critère

Message par Dolev »

Bonjour,

Le fil que tu cites ne déplace pas de curseur, relis ce que j'ai écrit. :roll:

En fonction de critère de quoi ? Fournis aussi des copies écrans comme je l'ai demandé à l'autre personne.
Open Office 4.1.15 sous Windows 11
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] deplacer curseur en fonction critère

Message par bebertdu01 »

Le critère de recherche est definit en P5 (obtenu par calcul depuis une autre feuille"=")

Sans aucune action, avec une position de curseur definit aleatoirement:
debut.png
Une fois le critère definit en P5, on appuirait sur le bouton et:
apres appui bouton.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 946
Inscription : 19 août 2018 05:20

Re: [Calc] deplacer curseur en fonction critère

Message par Dolev »

bebertdu01 a écrit :Le critère de recherche est definit en P5 (obtenu par calcul depuis une autre feuille"=")
Et bien comme je l'ai écrit dans l'autre fil, il suffit de récupérer le contenu de P5 via la propriété String
Et tu lances ensuite la routine que j'ai proposée en dernier.

Mais là encore, je me répète : ce n'est pas un déplacement de curseur mais une activation de cellule.
Deux choses différentes en terme de codage.
Open Office 4.1.15 sous Windows 11
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] deplacer curseur en fonction critère

Message par bebertdu01 »

Bonjour,
Avez-vous un petit indice ? Comment fait on pour récupérer P5 via string?
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 946
Inscription : 19 août 2018 05:20

Re: [Calc] deplacer curseur en fonction critère

Message par Dolev »

bebertdu01 a écrit :Avez-vous un petit indice ? Comment fait on pour récupérer P5 via string?
Récupérer le contenu d'une cellule est expliqué dans les suprêmes de code :
https://forum.openoffice.org/fr/forum/v ... 15&t=37828
Open Office 4.1.15 sous Windows 11
markotxe
Membre OOrganisé
Membre OOrganisé
Messages : 83
Inscription : 09 févr. 2018 09:55

Re: [Calc] deplacer curseur en fonction critère

Message par markotxe »

Bonjour Dolev,
Je suis pas certain de comprendre un très bien...
Il me semble que vous voulez: Selectionner une cellule selon un critère (qui se trouve en P5), c'est ça?
Si c'est le cas une double boucle devrait suffire.
Code:

Code : Tout sélectionner

Sub ChercherCritere
'Dim i As Long
  Classeur             = ThisComponent
  Feuille              = Classeur.Sheets.GetByName("Feuille1") ' Mettre le nom de la feuille qui vous interesse
  oZoneCriteres        = Feuille.getCellRangeByName("B3:L89")  ' Zone du tableau contenant les critères à rechercher
  oCelCritereRecherche = Feuille.getCellRangeByName("P5")      ' Cellule qui contient le critère qu'on va rechercher
  
For i = 0 To 10 
    For j = 0 to 86
        oCelCritereT = oZoneCriteres.getCellbyposition(i,j)        ' Position de la cellule (toujours inconnue) qu'on va rechercher
        If oCelCritereRecherche.string = oCelCritereT.String then  ' On recherche les coincidences grace au nom (String)
           ThisComponent.getCurrentController.select(oCelCritereT) ' Selection de la cellule recherchée
    Exit for
        End if  
   next j    
next i
End sub



Ci-joint votre document avec la macro de recherche ajoutée.
En espèrant que ça puisse vous aider...

COoordialement
Markotxe
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.5.2 et Open Office 4.1.14
Window11
(Obligation de version).
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 946
Inscription : 19 août 2018 05:20

Re: [Calc] deplacer curseur en fonction critère

Message par Dolev »

Bonjour,
markotxe a écrit :Bonjour Dolev,
Je suis pas certain de comprendre un très bien...
Il me semble que vous voulez: Selectionner une cellule selon un critère (qui se trouve en P5), c'est ça?
Personnellement, je ne veux rien. C'est bebertdu01 qui pose le problème. ;)
Peut-être fera t-il un jour un retour ?
Open Office 4.1.15 sous Windows 11
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] deplacer curseur en fonction critère

Message par bebertdu01 »

Bonjour,
Désolé pour le retour tardif.C est super. Je vous remercie pour votre disponibilité. Le code de markotxe fait impeccablement bien le le job !!!
MERCI :bravo:
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 946
Inscription : 19 août 2018 05:20

Re: [Calc] deplacer curseur en fonction critère

Message par Dolev »

bebertdu01 a écrit :Le code de markotxe fait impeccablement bien le le job !!!
Oui et ce code est une copie conforme de celui que j'ai fourni dans l'autre fil :evil:
Open Office 4.1.15 sous Windows 11