Application connectée à Internet en VBA Excel

  Рет қаралды 31,854

Formations Excel, Access et bien d'autres

Formations Excel, Access et bien d'autres

Күн бұрын

Пікірлер: 112
@abdelazizchelbi7531
@abdelazizchelbi7531 7 жыл бұрын
Cher professeur, vous arrivez toujours à nous impressionner par vos remarquables tuto, vos idées géniales, vos explications claires et précises, votre démarche ingénieuse ... A chaque tuto, je dis que celui-ci est le meilleur et qu'il n'y a pas mieux, mais, heureusement, vous arrivez à me contredire .... Vous êtes suuuuuuper
7 жыл бұрын
Bonjour mon cher Abdelaziz, j'accueille toujours vos impressions et commentaires avec un grand plaisir. Et en tant que fin connaisseur, je suis heureux que vous appréciez la mise en oeuvre du code VBA pour créer une petite application connectée. Merci infiniment et très bonne journée à vous.
@abdelazizchelbi7531
@abdelazizchelbi7531 7 жыл бұрын
Cher professeur, étant éblouit par cet exercice et fasciné par sa résolution, je viens de le réessayer encore une fois pour tirer ces petites remarques : 1- Tout d'abord, et à cause des problèmes d'interruption de connexion internet assez souvent (j'ai dû changer de FAI à maintes reprises), ce programme risque de se bloquer et 'Excel ne répond pas'. Peut-on prévoir une procédure pour pallier à ce problème (en testant la connexion pour une durée donnée, par exemple)? 2- Pour récupérer les données de la page web, on récolte les informations sous forme binaire (pour récupérer tous les caractères un à un) et les affecter au tableau 'donnees_fichier' sans aucune boucle!!! Et, une fois enregistrées dans le fichier 'donnees.txt', ces informations sont récupérées dans la variable 'contenu' malgré que ces données sont 'inscrites ligne à ligne', comme vous le précisez... Comment est-ce possible? 3- Dans 'Put #1, 1, donnees_fichier' , que signifie le deuxième argument (,1,)? 4- En dernier lieu, je vous prie de prévoir (dans la mesure du possible) des leçons concernant la programmation et la manipulation des pages web car vous commencez à nous attirer aussi vers ce thème Je vous remercie pour tout ce que vous faites et que le Bon Dieu bénisse tous vos efforts. Grand merci
7 жыл бұрын
Bonjour mon Chez Abdelaziz, comme toujours vos remarques sont on ne peut plus pertinentes. Pour tester la connexion, il doit forcément exister une classe à piloter livrant les objets et méthodes nécessaires. Mais je vous avoue ne pas la connaître encore. En revanche, une instruction On Error Goto Etiquette avec une étiquette toujours présente dans la boucle While parent doit permettre d'ignorer l'erreur et de retenter la connexion tant que celle ci n'est pas rétablie. Sans doute il faut prévoir un DoEvents pour rendre la main. Le deuxième argument (,1) dans l'instruction Put de l'écriture binaire permet d'indiquer à VBA d'insérer les données ligne à ligne (1 à 1), puisque la variable désignée en troisième paramètre est le tableau de variables entiers courts donnees_fichier. Et enfin oui je projette de bientôt commencer des formations sur les langages du Web en commençant le plus simplement par le langage client Javascript. Très bonne journée à vous mon Cher Abdelaziz.
@clabbehp
@clabbehp 7 жыл бұрын
Bonsoir, Je découvre vos tutos et force est de constater que les explications sont extrêmement bien présentés. Bravo et merci
7 жыл бұрын
Bonsoir Christophe, merci beaucoup à vous d'avoir pris le temps de faire un message.
@GeorgeBander
@GeorgeBander 7 жыл бұрын
Bonsoir cher professeur !! Sublime une fois de plus !! J'avais eu l'occasion à une époque de visiter la bourse via Excel, avec office 2013 ! Mais là, je suis ébahi du jolie et magnifique travail que l'on peut établir grâce au VBA !! Je vous souhaite une bonne soirée, et merci pour cet excellent tuto !!!
7 жыл бұрын
Bonsoir Gérard, comme vous le dites, avec VBA on peut tout réaliser ou presque. Je suis très heureux que cette application vous plaise. Je vous souhaite également une très bonne journée et merci beaucoup pour votre message.
@elisonarimino5783
@elisonarimino5783 6 жыл бұрын
SUPER COOL MONSIEUR! Vous êtes le N°1! Merci 1000 fois pour tout tout.
6 жыл бұрын
Merci infiniment Elison.
@_Greenflag_
@_Greenflag_ 4 жыл бұрын
Merci Stéphane ! Grâce à vos tutos (notamment) j'ai pu mettre en place en +- 1 mois une petite application sur Excel (import fichier PDF -> Excel via Word) et traitement, alors que je suis novice. Bonne journée !
4 жыл бұрын
Je vous félicite M C et vous remercie beaucoup pour ce témoignage en retour.
@_Greenflag_
@_Greenflag_ 4 жыл бұрын
@ Petite question : je souhaite connecter Excel à internet comme vous le faites ici, mais je ne sais pas si il s'agit d'HTTP (je suis novice en informatique :) ) car l'adresse internet commence par mon adresse IP (c'est une sécurité de la part de l'entreprise dans laquelle je travaille). Pensez vous que celà soit possible de récupérer des informations ?
4 жыл бұрын
​@@_Greenflag_ Difficile de vous répondre M C. Si les administrateurs de votre entreprise ont mis des verrous, vous risquez d'être bridé. Mais ça vaut le coup d'être tenté car par le code, vous n'êtes pas forcément reconnu comme un utilisateur humain.
@sciences-sci
@sciences-sci 4 жыл бұрын
Merci pour ce cours, je cherchais justement comment faire, excellentes tes explications, je vais essayer de le faire.
4 жыл бұрын
Merci beaucoup Rachid pour ce message très agréable.
@didierarnoult
@didierarnoult 6 жыл бұрын
Très bonne maîtrise et en plus excellente expression orale
6 жыл бұрын
Bonsoir Didier, votre retour est très agréable et je vous en remercie vivement.
@ivanonanga2195
@ivanonanga2195 7 жыл бұрын
Une fois de plus très instructif. Au fait! c'est par choix que tu n'indentes pas ton code??? Désolé, je reviens de Python, donc j'ai ça dans le sang!!! ;) J'allais oublier!!! Chapeau pour la vidéo, comme on dit en anglais "It was awesome :)"
7 жыл бұрын
Bonjour Ivan, non vous avez tout à fait raison. J'indente toujours mon code par esprit de structure et de clarté. Mais lorsque le code est léger comme ici, il m'arrive en effet de ne pas faire cet effort. Merci beaucoup pour votre retour et votre appréciation en anglais :)
@baptmth296
@baptmth296 4 жыл бұрын
Super intéressant ce tutoriel ! merci beaucoup
4 жыл бұрын
C'est un plaisir. Merci à vous pour ce message.
@frogeregis
@frogeregis 7 жыл бұрын
Merci bcp Stéphane
7 жыл бұрын
Avec plaisir François.
@nabilhakik132
@nabilhakik132 5 жыл бұрын
C'est très utile merci beaucoup
5 жыл бұрын
Je vous en prie Nabil, merci à vous pour ce message en retour.
@Michel88200
@Michel88200 7 жыл бұрын
Bonjour et merci pour le tutoriel bien expliqué De nouvelles fonctions en VBA, dont j'ignorais encore l'existence (comme "InStrRev"), me rendra surement service un jour.
7 жыл бұрын
Bonjour Michel, vous avez tout à fait raison, cette petite fonction de recherche inversée est très utile pour ne pas avoir à re-parcourir l'ensemble du fichier afin de découper l'information et d'optimiser le code. Merci beaucoup pour votre retour.
@ticservicessarl223
@ticservicessarl223 Жыл бұрын
Merci cher professeur. Remarquable et toujours brillant d'esprit. Mais personnellement j'ai un problème que je tente de résoudre depuis plusieurs années déjà et que je n'arrive pas. C'est de pouvoir à partir d'une application Access ajouter, modifier, supprimer des données dans une base de données hébergée sur Internet. Pouvoir à partir de mon application Access en local, avec une connexion Internet bien entendu, utiliser les données à distance afin de ne pas être obligé de concevoir une application web avec PHP et autres. SVP M. Rosetti, c'est l'une de mes préoccupations majeures de toute ma carrière. Aidez-moi avec un tuto bien pensé. Je vous remercie déjà pour votre compréhension.
Жыл бұрын
Bonjour Monsieur. Je comprends votre préoccupation. Elle est intéressante et importante. Personnellement, je l'ai toujours fait avec une Interface en Asp.Net ou en PHP. Je sais que la connexion, même sécurisée, est tout à fait possible depuis une application locale Access. C'est un point sur lequel je travaillerai et je proposerai une formation à ce sujet.
@japhetmateya2497
@japhetmateya2497 6 жыл бұрын
bonjour professeur, j'ai suivi les étapes jusqu'à la minute 12:41 mais je retrouve pas mon fichier donnée.txt. Pourquoi cela ?
6 жыл бұрын
Bonjour Japhet Mateya, tout dépend de votre code, difficile à dire. Je vous suggère de suivre la procédure pas à pas, avec laquelle vous ne pouvez pas vous tromper : www.bonbache.fr/application-connectee-a-internet-en-vba-excel-213.html
@PierreMeyssonnier
@PierreMeyssonnier 5 жыл бұрын
@ parce que dans le code indiqué sur la page html il manque un \ dans le chemin => ThisWorkbook.Path & "\donnees.txt"
5 жыл бұрын
@@PierreMeyssonnier Oui, vous avez tout à fait raison Pierre. En Html, il s'agit d'un caractère d'échappement qui a donc été automatiquement effacé lors de la conversion. Mais il est bien présent dans le code que je propose et notamment que je présente dans la vidéo.
@Eskimoz
@Eskimoz 5 жыл бұрын
Génial Rossetti Stéphane
5 жыл бұрын
Merci beaucoup Eskimoz
@ivanonanga2195
@ivanonanga2195 7 жыл бұрын
Précison également que si l'on ne souhaite pas utiliser la fonction CreateObject("MicrosoftWinHTTP....etc") ont peut cocher la référence "Microsoft WinHTTP Services, version 5.1" dans la liste de référence des projets vba (voir menu OUTILS>références...). Dans ce cas la déclaration de la variable sera plus explicite. Au lieu de: Objet_reponse as object on aura Objet_reponse as WinHttp.WinHttpRequest. On créé ainsi une nouvelle instance de cette classe avec le mot clé "NEW". l'avantage avec cette méthode c'est qu'on bénéficie de l'intellisense aussi
7 жыл бұрын
Très bonne remarque Ivan, le fait de bénéficier d'Intellisense est un grand confort. Donc vous avez bien fait de souligner cette méthode qui permet d'instancier la classe naturellement et explicitement. Je me permets une remarque néanmoins, elle charge toutes les ressources de la classe alors que nous n'accédons qu'à certaines d'entre elles, ce qui n'est pas gênant pour de petites applications comme celle ci. Pour de grosses applications en revanche, je pense que l'économie des ressources peut s'avérer utile. Merci infiniment en tous cas pour vos précieux commentaires et conseils d'expert.
@ivanonanga2195
@ivanonanga2195 7 жыл бұрын
Exact, en effet, cette méthode à l’inconvénient de ne pas faire l'économie des ressources vous avez raison. Merci aussi pour "l'expert", même si je doute d'en être un. Disons que je suis passionné et je mentirai si j'affirmais qu'avec vos vidéos je n'apprend rien. c'est même plutôt le contraire !!!! :)
7 жыл бұрын
C'est un plaisir de vous compter parmi nous mais je ne me trompe pas en affirmant que vous avez un gros potentiel, on le comprend tout de suite. Merci à vous en tous cas.
@frogeregis
@frogeregis 4 жыл бұрын
♥♥♥
4 жыл бұрын
Merci François.
@valbers95
@valbers95 3 жыл бұрын
Génial, merci pour ce tuto de grande qualité. Est-ce possible de récupérer des données uniquement accessible en se connectant à un espace membre ? Voir même d'initié certaine actions sur le serveur via via excel ?
3 жыл бұрын
Bonjour Jack. Merci beaucoup pour ce message. Dans le ruban Données, Excel propose différentes techniques de connexion dont certaines permettent de définir les identifiants et mots de passe de la passerelle de destination. En VBA Excel, il faut connaître la classe à instancier pour exploiter la méthode de connexion. Personnellement, je ne pourrai vous en dire plus à ce stade, ce sont des solutions que j'ai développées en Php mais pas encore avec Excel.
@malinebal3820
@malinebal3820 2 жыл бұрын
Bonjour, Je cherche un tuto d'un code VBA permettant de se connecter à un site internet puis ouvrir la page source.
2 жыл бұрын
Bonjour Maline. Je propose des exemples pour récupérer le contenu des fichiers distants : www.bonbache.fr/telecharger-des-fichiers-internet-en-vba-excel-902.html Mais pas encore de sujet de connexion à distance sur des sites Web. En revanche, ça viendra.
@xavier-alexandreazeyeh5679
@xavier-alexandreazeyeh5679 6 жыл бұрын
Bonsoir, très bon tutoriel. Merci. Cependant lorsque je clique sur "actualiser" dans la cellule E12 j'ai #VALEUR et l'erreur viendrait de ce morceau: contenu = Mid(contenu, position_depart, position_fin - position_depart); plus précisément de "position_fin" Comment y remédier s'il vous plait?
@xavier-alexandreazeyeh5679
@xavier-alexandreazeyeh5679 6 жыл бұрын
On dirait qu'il y a une ligne à supprimer en dehors des espaces...?
@xavier-alexandreazeyeh5679
@xavier-alexandreazeyeh5679 6 жыл бұрын
Voici ce que je fais mais ca ne résoud pas mon problème bien cela efface la ligne en question: contenu = Replace(Replace(Replace(contenu, Chr(10), ""), ".", ","), " ", "") Besoin d'assistance s'il vous plait
6 жыл бұрын
Bonjour le code me semble correct, mais la page Web à laquelle l'application se connecte a changé, ce qui est logique depuis le temps. L'occurrence ne peut plus être trouvée. Il faut soit chercher une nouvelle page soit un nouveau site, en répliquant ces astuces de code qui elles, restent d'actualité. Il faut néanmoins repérer dans le code source de la page, quelle balise fermante est associée à la devise cherchée.
@xavier-alexandreazeyeh5679
@xavier-alexandreazeyeh5679 6 жыл бұрын
Merci Professeur. Le seul endroit de votre code que j'ai modifié est celui-ci : contenu = Replace(Replace(contenu, " ", ""), Chr(10), "") Ensuite en me positionnant dans la cellule 'E10', sous l'onglet 'Acceuil' du ruban, dans la rubrique 'nombre' j'ajoute 4 décimales (Excel 2016) ET CA SEMBLE MARCHER! Merci encore Professeur.
6 жыл бұрын
Félicitations Xavier
@malinebal3820
@malinebal3820 2 жыл бұрын
Bonjour, je vous remercie pour cette formation. En revanche, je n'arrive pas à exécuter la première fonction, il m'affiche le message suivant" Un composant ActiveX ne peut pas créer d'objet"
2 жыл бұрын
Bonjour Maline. Selon ce message, il semblerait que l'objet n'ait pas correctement instancié la classe. Je vous invite à consulter la formation en pas à pas détaillé : www.bonbache.fr/application-connectee-a-internet-en-vba-excel-213.html Tout le code VBA y est donné.
@malinebal3820
@malinebal3820 2 жыл бұрын
Merci beaucoup
2 жыл бұрын
@@malinebal3820 Je vous en prie.
@albanvivien7406
@albanvivien7406 5 жыл бұрын
Bonjour et merci pour vos explication qui sont très claires. Pour ma part j'ai plusieurs chaine de caractère et je cherche à récupérer celui qui est en 2eme position. comment faire pour que le programme comprenne qu'il faille aller à la deuxième chaine de caractère ? Merci pour votre réponse.
5 жыл бұрын
Bonjour Alban et merci pour votre message en retour. Je vous suggère d'exploiter les fonctions Excel de traitement de chaînes de caractères, sur reconnaissance de l'espace de séparation par exemple. Ces formations expliquent comment les utiliser : www.bonbache.fr/traitements-de-chaines-de-caracteres-avec-excel-262.html www.bonbache.fr/extraction-par-fragments-de-textes-avec-excel-263.html
@albanvivien7406
@albanvivien7406 5 жыл бұрын
D'accord merci, mais dans le cas de cette vidéo par exemple si il y avait plusieurs fois EUR dans le fichier bloc-note et que je souhaite récupérer le 2eme EUR comment faire ? Merci pour votre réponse @
5 жыл бұрын
@@albanvivien7406 Vous pouvez faire une boucle de traitement pour les compter. Au deuxième passage, vous considérez qu'il est atteint et vous stoppez le traitement (Exit For).
@albanvivien7406
@albanvivien7406 5 жыл бұрын
bon je vais essayer comme ça mais j'espérais ne pas avoir besoin de faire de boucle. Simplement indiquer que je veux m'arrêter sur la position en octet du deuxième EUR Merci encore @
5 жыл бұрын
@@albanvivien7406 Oui c'est évidemment possible avec la fonction InStr pour connaître la position et la fonction mid pour prélever à partir d'une position sur une longueur donnée. La solution que je vous propose en est une parmi d'autres. Si vous connaissez d'avance la longueur, il est préférable d'exploiter ces fonctions.
@ichini5322
@ichini5322 4 жыл бұрын
Merci Rossetti Stéphane pour la vidéo, excellent cours bien détaillé qui m'a permis de découvrir votre site web (très intéressant), j'apprécie votre façon de nous apprendre. Concernant les modules de cette vidéo, j'ai adapté le code pour récupérer des données sur un site différent de celui en tuto mais le module est bloqué par l'antibot du site en question, darty. Pourtant, mon ip ne semble pas bloqué car j'ai accès au site web depuis mon navigateur. Je me suis renseigner sur le sujet et donc sur le "scraping". Mon but étant de récupérer le prix de certain appareil (une dizaine) automatiquement car il me sont nécessaire dans mon travail et je le fais chaque jour manuellement, plusieurs fois. Je n'ai aujourd’hui pas trouvé de solution correspondant à ma problématique. Y'a t-il une solution pour ne pas que l'antibot me bloque ?
4 жыл бұрын
Bonjour Ichini. Certains portails bloquent effectivement l'accès lorsqu'ils détectent qu'il ne s'agit pas d'une connexion humaine. La solution consiste à utiliser le contrôle WebBrowser, directement disponible dans l'environnement DotNet. Je pense qu'on doit pouvoir l'appeler en référence dans un projet VBA. Mais pour que cette référence existe, Visual Studio doit être installé à mon sens.
@IchiniGw2
@IchiniGw2 4 жыл бұрын
@ merci beaucoup de votre réponse rapide, je vais effectivement me renseigner sur les solution avec le .net !
@manarsis9628
@manarsis9628 2 жыл бұрын
bonjour professeur, je suis une fan de vous au point ou j'ai commencé la programmation vbaExcel pourtant ce n'est pas mon domaine, bref je suis arrivé à une étape ou je souhaite protéger et verrouiller ma feuille source de toutes intervention ou modification , je reviens à vous pour nous montrer par un tuto comment faire? merci par avance ( pour plus de précision j'ai mis le mot de passe utilisateurs pour limiter les axés )
2 жыл бұрын
Bonjour Ma Narsis. Votre message me fait très plaisir. Je vous en remercie très sincèrement. La meilleure façon d'obtenir le code VBA de ce que vous cherchez est de créer une macro automatique (Via le ruban développeur), vous enregistrant en train de mettre en place cette protection. Après avoir arrêté l'enregistrement et de retour dans l'éditeur VBA Excel, vous pouvez ouvrir le module ainsi créé. Vous n'avez plus qu'à prélever le code pour l'intégrer dans votre propre développement.
@manarsis9628
@manarsis9628 2 жыл бұрын
@ merci professeur pour la réponse , je vais tout de suite l'appliquée. bon journée
@elhadjibarasakho8888
@elhadjibarasakho8888 5 жыл бұрын
Bonjour Rosseti J'ai reproduit l'Application connectée à Internet en VBA Excel, mais ya une erreur sur le contenu de la cellule E12 comme #VALEUR! quand j'ai affiché le calcul sur la balise à coté de da la cellule E12, il montre le contenu de la cellule E8 qui est 65.50 mais le contenu de cellule E12 montre par exemple "0,9998" , mais si vous regardez à la barre de formule vous voyez =E8*E10. comment resoudre cet erreur ; merci
5 жыл бұрын
Bonjour Monsieur, le site Web exploité depuis la mise en place de cette formation a forcément évolué. Etes vous certain de réceptionner la bonne donnée ?
@RenovGamer
@RenovGamer 7 жыл бұрын
ça marche pour tout site cette formule?
@ivanonanga2195
@ivanonanga2195 7 жыл бұрын
A priori je pense que non vu que chaque site web à un code HTML différent, la structure des données sur la page est différente. il faut donc analyser le code html pour mieux définir la méthode de récupération des données. On peut par exemple trouver des cas où l'objet "QueryTable" serait plus pertinent. A moins que Stéphane ait un avis différent.
7 жыл бұрын
Bonjour, le code pour récupérer le contenu de la page Web est toujours strictement le même. Il suffit simplement d'adapter l'url de la page ciblée. Pour extraire l'information en revanche, je rejoins Ivan, chaque site propose des structures HTML de pages qu'il faut étudier et découper au cas par cas. Mais la méthode reste exactement la même. Il suffit de déceler les balises remarquables afin d'extraire aisément les informations souhaitées. Ensuite, pour plus de standard et de modularité, on pourrait envisager la recherche dans n'importe quelle page sur des expressions régulières. C'est à mon sens tout à fait possible mais plus complexe à monter.
@emmanuelpouzadoux4596
@emmanuelpouzadoux4596 5 жыл бұрын
bonjour En effet la page Web à laquelle l'application se connecte a changé, l'occurrence ne peut plus être trouvée quelqu'un a t il " réussi " ce tuto avec un autre site ? je n'y arrive pas ! Avec quel site, et comment rechercher la balise fermante est associée à la devise cherchée merci
5 жыл бұрын
Oui normal Emmanuel, ces sites évoluent régulièrement. Mais c'est la philosophie qu'il faut retenir : Déceler l'emplacement de la donnée à récupérer dans la source Html et adapter le code pour l'isoler et la réceptionner. Les techniques VBA énoncées elles sont les mêmes.
@0Jes68
@0Jes68 6 жыл бұрын
Bonjour, je trouve vos vidéos passionnantes, bien expliquées et je me sers beaucoup d'elles pour faire mes propres projet VBA. Mon prochain projet sera de faire petit à petit un logiciel de gestion de bibliothèque perso pour ma propre bibliothèque. Je voudrais pour commencer récupérer sur le NET les informations (titre, auteur(s),nbre de pages, éditeur etc...) grâce à l'ISBN pour ne pas devoir tout retaper à la main. Cela ressemble, un peu à cette vidéo mais il faut indiquer avant au site le code ISBN attendre la réponse puis extraire les données utiles. Pouvez vous m'aider ?
6 жыл бұрын
Bonjour Monsieur et merci beaucoup pour votre message fort agréable. J'aimerais vous aider mais je reçois d’innombrables demandes d'aide chaque jour. Il m'est impossible d'y répondre sans quoi je n'ai plus de temps pour proposer ces vidéos. Je suis sincèrement désolé. Néanmoins, pour votre projet, il me semble que le Vb.net vous faciliterait la tâche. En exploitant un contrôle navigateur, vous pouvez facilement pointer dans la zone à saisir par actions robotisées. Un timer permet alors de temporiser l'exécution afin de réceptionner l'Isbn généré à l'issue.
@gregsti
@gregsti 7 жыл бұрын
Bonjour Stéphane, bonjour Ivan, bonjour tout le monde ! :) J'ai mis du temps à comprendre qu'il fallait mettre la "propriété" (est-ce bien le bon mot ?) Send pour objet_reponse.Send avec un "S" majuscule / idem pour objet_reponse.ResponseBody pour le "R" et le "B". Ca me faisait planté mon programme sinon.. :'( Je n'ai pas non plus trouvé WinHTTP.WinHTTPrequest.5.1 dans Outils / Références... Un problème de version ? j'ai la version d'excel 2016 sur mac (et ça c'est une catastrophe en VBA !!!) et sur PC et aucun des deux ne me l'ont proposé. La, la 1ere partie fonction nickel sur pc. je ne fais plus rien en vba sur mac sauf quand je suis sur de mon code et qu'il est plutôt court. bonne journée à tous et merci encore pour tout Stéphane, ton talent d'expert, tes méthodes d'explications qui sont parfaitement claires et pédagogique. tes tutos sont à chaque fois remarquable ! un vrai plaisir de te suivre
@gregsti
@gregsti 7 жыл бұрын
Bon, j'en suis à la deuxieme partie, et là ça plante sur contenu = input(taille_fichier,1) :( Voici le message d'erreur msgbox : "Erreur de compilation : Projet ou bibliothèque introuvable". Il me renvoie sur outils/référence. Merci à toi ou une ame charitable passant par là :)
7 жыл бұрын
Bonjour Grégoire, merci infiniment pour votre message qui fait très plaisir. Send est en fait une méthode car elle réalise une action. Une propriété permet de modifier des aspects, des valeurs de l'objet. La casse est fort logiquement importante à respecter en effet dans les objets de programmation, méthodes et propriétés. La référence manquante ne vient pas de votre version d'Excel. Il s'agit des librairies de code, souvent des Dll, installées sur votre PC ou MAC. Donc même la fonction CreateObject ne doit pas vous permettre d'y accéder si cette classe n'est pas présente. Mais vous semblez dire que cela fonctionne. Obtenez-vous bien le fichier donnees.txt à la racine de l'application avec tout le code de la page Web du site auquel se connecte l'application ?
@gregsti
@gregsti 7 жыл бұрын
Oui, j'ai réussi à l'obtenir. Ce fut un casse tête de quelques heures mais là tout fonctionne. :) et je suis même allé plus loin en y ajoutant toutes les devises pour une conversion en EUR, programmant des Mise à Jour Automatiques par le biais d'Application.OnTime ... ou Manuelles, en y présentant une feuille de conversion automatique et la possibilité de revenir sur des taux anciens de plusieurs jours (à partir du moment où le fichier l'a enregistré bien sûr), masquant mes données et ne présentant que la feuille de conversion, une copie du résultat instantanément pour un collage sous SAP (progiciel comptable utilisant le "." à la place de la "," dans 99% des cas, dont le mien :) ) et un mini-formulaire permettant de modifier la récurrence des mises à jour. Ce que je cherche maintenant, c'est de programmer l'ouverture du fichier tous les jours, à une certaine heure (ex 9h). Pour cela j'ai découvert AutoHotKey qui semble selon les dires d'internautes être très bien. J'ai bien du mal à comprendre encore son langage juste pour une ouverture d'un fichier à une heure précise, mais je découvre un logiciel vraiment intéressant qui permet de programmer du code quasi comme vba excel pour excel. Il code aussi pour beaucoup d'autres choses !!! Idée de tuto ?? :) Voici mon debrief : • POUR LA PARTIE RECUPERER_WEB : 1 - Normalement, VBA met automatiquement les majuscules, là pour la partie "objet_reponse.Open "GET"..." il a fallu les mettre manuellement, sinon le langage n'était pas reconnu ("Open","Send" et "ResponseBody"), savez-vous pourquoi ? • POUR LA PARTIE RECUPERER_TAUX : 2 - Dans Open chemin For Input As #1... : j'ai utilisé une boucle do while EOF(1) true pour récupérer le contenu de la feuille donnees.txt, en vérifiant précédemment que LOF(1) n'était pas = à 0 car "contenu = Input (taille_fichier,1)" ne fonctionner pas ("Input" faisait bugger) // Pourquoi n'ai-je pas pu passer par cette méthode ? mon code : Open chemin For Input As #1 If LOF(1à = 0 Then Exit Sub Do While EOF(1) True Line Input #1, contenu_intermediaire contenu = contenu & contenu_intermediaire Loop Close #1 - La méthode (dit-on comme cela ?) "Mid(contenu, position_depart, Len(contenu)) devait vérifier que position de depart n'était pas = à 0 non plus pour qu'elle fonctionne (voir dans l'affichage de la fenetre "Variables locales") - J'ai supprimé le fichier donnees.txt qui ne me sert plus à rien une fois les données chargées par la méthode "Kill chemin" (chemin étant "C:\\....le chemin...\donnees.txt") • POUR LA PARTIE APPEL_RECURRENCE : - J'ai totalement changé le code, je ne comprenais pas bien son fonctionnement surtout pour l'arrêter.. donc j'ai mis les 3 Sub indispensable pour Application.OnTime ... Et enfin, je n'ai pas compris non plus pourquoi vous utilisiez des Function plutot que des Sub ? Est-ce un goût personnel ? Du coup, j'ai tout basculé en Sub (ça fonctionne très bien et je n'y ai plus accès par mes fonctions de feuilles de calculs excel). En tous cas, un grand merci pour vos tuto si instructif et qui m'a permis, pour le coup, de réaliser un petit projet professionnel VBA qui me trottait dans la tête depuis quelques temps. Au plaisir de voir de nouveaux tutos
7 жыл бұрын
Bonjour Grégoire, oui les Sub fonctionnent tout aussi bien et les fonctions auraient en effet été plus justifiées si elles retournaient des valeurs, ce que ne font pas les Sub. Donc bravo à vous pour toutes les adaptations que vous avez faites et très heureux que ce projet vous ait été aussi utile. Très bonne journée à vous.
@PierreMeyssonnier
@PierreMeyssonnier 5 жыл бұрын
Avec office 16 il faut utiliser "MSXML2.XMLHTTP" en lieu et place de "WinHTTP.WinHTTPrequest.5.1" -> Set objet_reponse = CreateObject("MSXML2.XMLHTTP") attention, lorsque l'on recopie le code de la page html il y a des ' (simple quote) comme séparateurs de string , il faut mettre des '' (double quote) ex "GET" et pas 'GET' , la preuvve sur ns la vidéo c'est bien des " (double quote) qui apparaisent
@alizecanard3566
@alizecanard3566 6 жыл бұрын
Bonjour Merci pour vos vidéos Est il possible de le faire sur Excel Mac ?
6 жыл бұрын
Bonjour Alize et merci pour votre message en retour. Oui, à n'en point douter. Il s'agit de code VBA propre à Excel, donc réplicable à l'identique quelle que soit la plateforme.
@alizecanard3566
@alizecanard3566 6 жыл бұрын
WinHTTPrequest ne fonctionne pas sur mac, avez vous une solution ?
6 жыл бұрын
Comme son nom l'indique, il s'agit d'une méthode propre à Windows. Il faut trouver celle dédiée à l'environnement Mac. Je vous suggère de faire des recherches sur le Web. N'ayant pas personnellement de Mac, je n'ai pas eu l'occasion de tester.
@ayoubkyoud4469
@ayoubkyoud4469 5 жыл бұрын
Bonjour Cher Monsieur comment extraire l'information d'ici data-ist-previousclose>1.1025
5 жыл бұрын
Bonsoir Ayoub, pour mois il faut chercher la position de l'occurrence : previousclose> puis la position de l'occurrence
@3254rs
@3254rs 4 жыл бұрын
Salut, Y a pas plus Clair ! Merci.
4 жыл бұрын
Merci infiniment Salem.
Suivi connecté des valeurs boursières VBA Excel
32:22
Formations Excel, Access et bien d'autres
Рет қаралды 15 М.
I'VE MADE A CUTE FLYING LOLLIPOP FOR MY KID #SHORTS
0:48
A Plus School
Рет қаралды 20 МЛН
УНО Реверс в Амонг Ас : игра на выбывание
0:19
Фани Хани
Рет қаралды 1,3 МЛН
Générer des nombres aléatoires en VBA Excel
35:57
Formations Excel, Access et bien d'autres
Рет қаралды 13 М.
Switch Between Open Applications Using AppActivate in Microsoft Access VBA
17:45
Connecter une base Access à Excel par le code VBA
57:53
Formations Excel, Access et bien d'autres
Рет қаралды 28 М.
Comment importer les données d'un site web dans Excel ? [2020]
5:26
Numelion IT [Tutoriels]
Рет қаралды 26 М.
How to Run Scripts and Open Other Applications from MS Access Using VBA
10:35
Sean MacKenzie Data Engineering
Рет қаралды 6 М.
Retrieving Real-Time Data Using a Web API in Microsoft Access
33:22
Computer Learning Zone
Рет қаралды 12 М.
Numérotation automatisée de factures Excel en VBA
30:48
Formations Excel, Access et bien d'autres
Рет қаралды 33 М.
Faire d'un projet VBA une véritable application 1/3
18:09
XLOneClick
Рет қаралды 13 М.
Exel VBA module de classe découverte
24:37
Tuto De Rien
Рет қаралды 16 М.
[EXCEL] Extraire une donnée d'un site Web avec une ligne de code VBA
6:33