[Résolu] [Calc] Erreur de syntaxe dans arguments de VLOOKUP

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 !

[Résolu] [Calc] Erreur de syntaxe dans arguments de VLOOKUP

Messagepar perkly » 29 Oct 2019 09:25

LibreOffice 6.0.6.2 sous Mint Mate 19.1 Tessa 64-bit

Bonjour,

je vous joins un mini fichier exemple pour exposer le problème que je rencontre.
Juste 2 colonnes : noms et adresses. (A1:B8)
Il s'agit d'afficher l'adresse correspondant au nom de la cellule A5 dans la cellule D3.
Pas de problème avec Calc et RECHERCHEV, mais comme ça ne fonctionne pas (à priori) avec les macros, je voudrais utiliser VLOOKUP.
Feuille1.getcellrangebyname("D3").string = VLOOKUP(A5,A1:B8,2,0)
Normalement, la seule différence c'est les ponctuations entre les arguments ";" pour l'un et "," pour l'autre.
Normalement… car on retrouve souvent ";" avec VLOOKUP dans les forums.
Dans mon cas aucun ne fonctionne.
Si je mets : VLOOKUP(A5,A1:B8,2,0) j'ai un message d'erreur : Erreur de syntaxe BASIC.Symbole inattendu : ,.
Si je mets : VLOOKUP(A5;A1:B8;2;0) j'ai un message d'erreur : Erreur de syntaxe BASIC.Erreur de parenthèses.
J'ai essayé avec Application et/ou WorkSheetFunction mais ça ne change rien.

Si vous avez une idée, merci d'avance.
Pièces jointes
Essai-VLOOKUP.ods
Fichier d'exemple pour mettre en évidence un problème de syntaxe dans VLOOKUP
(15.81 Kio) Téléchargé 1 fois
Dernière édition par Oukcha le 30 Oct 2019 08:07, édité 2 fois.
Raison: TO:"erreur de syntaxe dans les arguments de VLOOKUP" -> Titre balisé + balisage résolu
LibreOffice 6.0.6.2 sous Linux Mint 19.1 Tessa 64-bit
perkly
Fraîchement OOthentifié
 
Message(s) : 2
Inscrit le : 27 Oct 2019 16:19

Re: [Calc] Erreur de syntaxe dans arguments de VLOOKUP

Messagepar Dude » 29 Oct 2019 10:18

Salut,

Fais-nous plaisir en publiant le code de la macro que tu as mis dans ton document.

perkly a écrit:Feuille1.getcellrangebyname("D3").string = VLOOKUP(A5,A1:B8,2,0)

C'est plutôt la propriété formula qu'il faut utiliser.

Et de toute façon, ce n'est pas comme cela qu'on appelle des fonctions par programmation.
Voir le suprême de code concerné : https://forum.openoffice.org/fr/forum/viewtopic.php?f=15&t=14625
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21122
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] Erreur de syntaxe dans arguments de VLOOKUP

Messagepar Noonours » 29 Oct 2019 18:14

Bonjour

Une proposition de script, et comme te l'a précisé Dude,ce n'est pas aussi simple...
Code : Tout sélectionner   AgrandirRéduire
sub essai

Dim Feuille1 as object
Dim Args() As Variant

Feuille1 = ThisComponent.sheets(0)

'Les 4 arguments attendus par la fonction =RECHERCHEV()
ElementRech = Feuille1.getCellRangeByName("A5").string 'ici écrit en "dur" mais à modifier selon ton codage
MatriceRech = Feuille1.getCellRangeByName("A1:B8") 'idem
PositionRech = 2
EstTrieRech = 0

Args = Array( ElementRech, MatriceRech, PositionRech, EstTrieRech )

oFuncAcces = CreateUnoService("com.sun.star.sheet.FunctionAccess") 'création du service d'accès aux fonctions

Resultat = oFuncAcces.callFunction("VLOOKUP",Args()) 'Exécution de la fonction avec les paramètres "NOM DE LA FONCTION" et arguments

Feuille1.getcellrangebyname("D3").string = Resultat

end sub


Cordialement,
Noonours plantigrade râleur

Pour obtenir la réponse la plus précise possible, N’HÉSITEZ SURTOUT PAS À JOINDRE UN FICHIER

LibO 6.2.8.2 sous Windows 10
LibO 5.0.6.3 (obligation de version) sous Win 7
Avatar de l’utilisateur
Noonours
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 320
Inscrit le : 11 Mai 2013 01:11
Localisation : Aix en Provence

Re: [Calc] Erreur de syntaxe dans arguments de VLOOKUP

Messagepar perkly » 29 Oct 2019 20:48

Un grand merci à tous les deux, ça fonctionne parfaitement.
Effectivement comme dit Noonours, c'est pas aussi simple... mais ça fait progresser et dans mon cas il y a de la marge :lol:
LibreOffice 6.0.6.2 sous Linux Mint 19.1 Tessa 64-bit
perkly
Fraîchement OOthentifié
 
Message(s) : 2
Inscrit le : 27 Oct 2019 16:19


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 7 invité(s)