[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 !
perkly
Fraîchement OOthentifié
Messages : 2
Inscription : 27 oct. 2019 15:19

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

Message par perkly »

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.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 30 oct. 2019 07:07, modifié 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
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

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

Message par Dude »

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/v ... 15&t=14625
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

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

Message par Noonours »

Bonjour

Une proposition de script, et comme te l'a précisé Dude,ce n'est pas aussi simple...

Code : Tout sélectionner

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 procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
perkly
Fraîchement OOthentifié
Messages : 2
Inscription : 27 oct. 2019 15:19

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

Message par perkly »

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