Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC ISBN

GGFuveau

XLDnaute Nouveau
Supporter XLD
Bonjour.
Je ne suis pas un expert en Excel, juste un utilisateur "averti". Je débute sur Excel Downloads et j'ai l'impression que c'est d'une grande richesse.
Je dois gérer des inventaires de livres pour une association qui organise un salon littéraire. Je peux scanner et importer dans un fichier Excel le code ISBN, mais je ne sais pas remplir automatiquement les informations du livre (titre auteur etc.) Merci beaucoup pour votre aide. Gérard
 
Solution
Bonsoir et merci pour votre aide !
Un ami a finalement trouvé la bonne syntaxe pour la commande Curl sur MAC :

En VBA :
#If MAC Then
Function GetBookFromISBN(ISBN As String) As String
Dim sCmd As String
Dim sResult As String
Dim lExitCode As Long

Const Url = "https://www.googleapis.com/books/v1/volumes?q=isbn13=<ISBN>"

sCmd = "curl " & Chr(34) & Replace(Url, "ISBN", ISBN) & Chr(34)

sResult = execShell(sCmd, lExitCode)

' ToDo check lExitCode
GetBookFromISBN = sResult

End Function
#End If

Ce qui produit des lignes de commande de ce genre (contenu de sCmd) :

curl...

GGFuveau

XLDnaute Nouveau
Supporter XLD
l'url remonte bien la fiche xml du livre lorsqu'on la saisit dans le navigateur (Safari). En revanche j'ai une erreur qui semble liée à bash dans MacOs :
macbook-pro:~ gerard$ curl --get --d https://www.googleapis.com/books/v1/volumes?q=isbn=<9782957439805>
-bash: syntax error near unexpected token `-1'
Qu'en penses-tu ? En fait le code VBA fonctionne mais la ligne de commande MACOS ne semble pas correcte.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
Je ne connais rien à ce curl de MAC, j'ai pris l'exemple sur Internet.
Sur Internet, on est supposé envoyer une chaine $Query que j'ai supprimée car seul l'URL est suffisant.
Il faut essayer en retirant le -d (je ne sais pas à quoi correspond cette option).
Essaie ces 2 options:
VB:
sCmd = "curl --get " & Replace(Url, "ISBN>", ISBN)
sCmd = "curl " & Replace(Url, "ISBN>", ISBN)
 

Dudu2

XLDnaute Barbatruc
De plus, si le titre n'est toujours pas trouvé (ce qui m'étonnerait si le curl passe) retire les commentaire sur ces instructions et envoie-moi ce qui apparait dans A1.
Code:
'[A1].Value = GetBookFromISBN(ISBN)
'Exit Sub
 

Pyros2536

XLDnaute Nouveau
Bonjour Dudu2
après avoir testé tes deux modifs, il ne se passe rien! la cellule A1 ne renvoie aucune valeur. Mystère lié au vba de MacOs ?
 

p56

XLDnaute Occasionnel
Bonjour à tous,

Ne fonctionne probablement pas sur Mac, mais voici une version Pc (32 bits et 64bits)


Ici le site interrogé est le catalogue en opendata des prêts des bibliothèques de Paris.
Les n° ISBN sont à saisir selon le format "officiel" (et non abrégé sans les - tirets)
@Dudu2 saura probablement rendre de code compatible Mac (?)
P.
 

Pièces jointes

  • Isbn_OpenData_Paris.xlsm
    26.8 KB · Affichages: 6

Pyros2536

XLDnaute Nouveau
bonjour p56. ton script fonctionne bien sur PC Windows10. Impec ! Reste à trouver la conversion pour le faire fonctionner sous Mac. Merci à toi.
 

Pyros2536

XLDnaute Nouveau
Salut dudu2. Après avoir testé tes différentes modifs et rajouté un chevron manquant, on voit enfin apparaitre des résultats... non mis en forme. voir fichier joint
 

Pièces jointes

  • GET HTTP API ISBN Livre.xlsm
    40.2 KB · Affichages: 3

Pyros2536

XLDnaute Nouveau
Bonjour Dudu2. Bien dormi ?
En effet. Cette petite correction fait apparaitre maintenant la MsgBox. On peut aussi "verser" le résultat de la recherche dans une cellule donnée. (voir FJ)
Je vais tenté d'améliorer l'ergonomie de la "chose" pour que celà puisse ressembler à ce qu'a fait <P56> pour windows. Je pense que ça conviendra mieux à ce qu'attend <GGFuveau>...
Have a good day
 

Pièces jointes

  • LastVers_GET HTTP API ISBN Livre.xlsm
    25.4 KB · Affichages: 1
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…