Boucle VBA (recherche à partir d'un nom et copier coller)

Bonjour à tout le monde,

je viens de m'inscrire ici, tout nouveau,

j'ai bloqué sur mon fichier,

je voulais juste copier le nom de l'hôtel et le tarif de l'agence qui le propose, dans une autre feuille , pour l' tarif je souhaiterai copier celui qui a été proposé par le site officiel de l'hôtel ou bien la première agence qui le propose

comme j'aurai à faire la même manipulation plusieurs fois par jour , donc je cherche un code Vba, si c'est possible

le code va parcourir la feuille et copier au fur à mesure les hôtels que j'ai choisis, avec leur tarifs

VEUILLEZ TROUVER CE QUE JE CHERCHE A PRODUIRE DANS L ONGLET RÉSULTAT

je vous remercie,

Cordialement,

BM

29data.xlsx (33.96 Ko)

Salut et bienvenue sur le Forum,

Mon fichier ci-joint n’est qu’une ébauche de ce que l’on pourrait réaliser, c’est juste pour voir si on part dans la bonne direction.

Pour l’instant, si tu effaces les données de la plage B3:D6 de la feuille ‘résultat’ (juste pour te rendre compte de ce que réalise la macro, autrement mon code efface ces données à chaque fois) et que tu lances la macro par le bouton en place sur cette feuille, les prix trouvés sont reportés.

Pour l’instant j’ai considéré que tu n’avais que des prix entre EUR 100 et 999. A corriger par la suite.

Pour un hôtel tel que le Claret Bercy sur la feuille ‘24’, le premier prix trouvé est reporté (EUR 137 et non pas EUR 149).

Tu devrais pouvoir ajouter des hôtels dans la colonne A et des feuilles dans la ligne 2 de la feuille ‘résultats’ et ça devrait prendre en compte ces nouveautés.

Je te laisse déjà tester tout ça et me donner tes premières impressions. Toute autre amélioration est envisageable.

Cordialement.

34data.xlsm (47.29 Ko)

bonjour yvouille,

tu m'as surpris avec le résultat il est vraiment parfait,

ce que je veux si c'est possible de reporter uniquement le tarif de l'agence Expédia, ou le site officielle de l’hôtel,

car quelque hôtel ont des tarifs de grossistes (tarifs moins chers)

j'ai un petit soucis, quand je colle l'URL pour la rapporter les données sur Excel, une erreur s'affiche, que mon URL est trop long

merci bcp pour votre réponse,

Cordialement,

26data1.xlsm (68.06 Ko)

Une réponse expresse avant de quitter mon boulot.

billy255 a écrit :

i un petit soucis, quand je colle l'URL pour la rapporter les données sur Excel, une erreur s'affiche, que mon URL est trop long

Je ne vois pas de quoi tu veux parler. Tu peux me donner plus de précision ?

As-tu remarqué que tu as écrit le nom d'un hôtel d'une manière incorrecte ? Il se sera ainsi jamais trouvé.

Peux-tu avoir des prix au dessus de EUR 999 ?

A te relire.

oui, j'ai oublie le E pour le nom de l'hôtel c'est vrai

concernant les tarifs, c'est mieux qu'ils se situent dans une fourchette de 45€ a 500€

et comment prendre que les tarifs de Expedia ? ou site officiel ?

sinon l'erreur tu vas la trouvé sur mon impr écran pj word ( le msg d'erreur : la chaîne de texte que vous avez tapée est trop longue.Réduisez-en le nombre de caractères ou annulez votre saisie )

merci bcp

BM

18doc1.docx (207.69 Ko)

Bonsoir,

billy255 a écrit :

et comment prendre que les tarifs de Expedia ? ou site officiel ?

Minute Papillon, une chose après l’autre

Le nouveau code ci-joint cherche les prix ‘Site officiel’ et ‘Expedia’ et utilise le plus élevé des deux, sans se soucier de savoir si un prix autre est plus élevé. Sur la feuille ‘22’, ça correspond à l’exemple de l’Hôtel La Cordée et de l’Hôtel Alpenrose’. Pour ces deux hôtels, c’est le prix le plus élevé des deux indiqués ci-dessus qui est repris (donc le prix ‘Site officiel’ pour l’Hôtel La Cordée et le prix ‘Expedia’ pour l’Hôtel Alpenrose).

S’il n’y a ni prix ‘Site officiel’, ni prix ‘Expedia’, alors c’est le prix le plus élevé trouvé qui est repris. Pour l’Hôtel Beauregard, toujours sur la feuille ‘22’, c’est le montant de EUR 250 qui est reporté.

Aurait-il fallu prendre le prix le moins élevé parmi ceux indiqués ??

Attention, je ne traite pour l’instant que les prix de EUR 10 à EUR 999 ; il faudrait corriger les codes si tu peux avoir des prix de plus de EUR 999.

Concernant ton problème URL – n’utilisant pratiquement jamais cette possibilité – je ne peux pas t’aider. Je te conseille donc d’ouvrir un fil parallèle uniquement pour cela.

A te relire.

23data-v2.xlsm (74.27 Ko)

je te remercie beaucoup Yvouille ,

j'aimerai décortiquer tout ce code là en détaille, ^^

en fait j'ai pris les tarifs de Expedia, ou site officiel , car c'est les plus sûr pour un hôtel (et Expedia la plupart des hôtels sont dedans,)

sinon, si j'ai des tarifs plus que 999€ ou est que je peux les changer et les adapter à ma recherche ?

je te remercie énormément pour ton aide,

Crdlt

BM

Salut,

Je pense qu’il est plus facile pour moi de transformer le code – ce que j’ai fait dans le fichier ci-joint -afin de couvrir les prix de plus de EUR 999 que de t’expliquer comment le faire. D’autant plus que je ne connais pas tes connaissances en VBA et que je ne sais donc pas quelles informations te seraient utiles, lesquelles seraient largement superflues. Mais d’un autre côté ces modifications étaient relativement simples – bien que très compliquées à expliquer - et il me semble que si tu avais quelques bonnes notions en VBA, tu aurais trouvé toi-même la solution.

Ceci étant dit, je dois quand même t’informer que tu me fais un peu travailler un peu à l’aveugle en ce sens que je n’ai pas trouvé dans tes exemples de prix de plus de EUR 999. Je ne peux donc pas savoir si ces prix sont indiqués avec ou sans un signe de séparation des milliers (2'000 par exemple). J’ai donc supposé que non et que les chiffres étaient inscrits de cette manière : 2000.

Ma macro couvre donc actuellement les prix de 10 à 9999 euros.

Si tu pouvais donc trouver un hôtel à plus de EUR 999 afin de voir ce qu’il en est, ce serait bien.

Je me suis rendu compte d’une erreur au sujet du dernier hôtel de la liste journalière ; apparemment il n’était pas reporté. J’ai maintenant corrigé le code afin que ça ne puisse plus se reproduire.

A te relire.

43data-v3.xlsm (76.82 Ko)

bonjour,

je viens de voire la partie que vous avez ajouté pour les prix de plus de 999, c'est bon j'ai compris,

je te remercie beaucoup pour toutes tes réponses,

à bientôt pour une autres requête

merci


bonjour,

je viens de voire la partie que vous avez ajouté pour les prix de plus de 999, c'est bon j'ai compris,

je te remercie beaucoup pour toutes tes réponses,

à bientôt pour une autres requête

merci

bonjour Yvouille,

désolé pour le dérangement,

je voulais te demander si c'est possible de mettre un format de date sur la ligne des nuitées, et qui dois correspondre avec le nom de chaque onglet, et ensuite d'archiver toutes dates passée soit les onglets ou bien dans la feuille Report

une autre question, serait il possible de faire une extraction de plusieurs dates (nuitées)

je te remercie d'avance,

je t'ai envoyé un message, mais je ne sais pas si tu l'as reçu !

BM

Re-bonjour,

Si ton fil est a nouveau actif, ce serait bien de cliquer sur le petit V rouge dans l’un de tes messages, comme ça il n’apparait plus comme « Résolu » dans MA liste ‘Mes messages’ et je vois en un coup d’œil que ce fil est encore à garder en vue.

Ensuite reste absolument sur le Forum pour continuer la discussion. Je n’ai pas vu ton courriel privé car je ne relève pas régulièrement mon courrier.

Tu as beaucoup de questions et pas toujours claires.

Dans le fichier ci-joint, si tu sélectionnes la feuille ‘Résultat’, elle montre les 7 dernières dates précédents la date du jour (ce nombre peut être modifié).

Si tu cliques sur le bouton en place, la macro va reporter les données de toutes les feuilles comportant une date comme nom de la feuille dans l’onglet. Si des données reportées précédemment se trouvent sur la feuille ‘Résultat’ mais pour des feuilles qui ne sont plus présentes, les résultats restent en place. C’est déjà une partie de ce que tu désirais, non ? (Voir mon exemple ci-joint, les prix inscrits dès le 1er janvier 2014).

Attention. En Suisse on travaille avec un format de date jj.mm.année (avec des points comme séparateur de date). Je vois donc mes dates à l’écran dans la deuxième ligne de la feuille ‘Résultat’ de la manière suivante : 30.03.2014 alors que toi tu les vois probablement d’une autre manière. J’ai donc mis mes textes (ce ne sont normalement pas des dates pour Excel) au même format dans les onglets. Pour que la macro fonctionne chez toi, tu dois inscrire ces noms de feuille au même format que tes dates (par exemple 30-03-2014 ou 30/03/2014 ou que sais-je).

Ensuite je n’ai pas compris si tu désirais archiver toutes les données exportées d’internet ? Si oui, comme tu n’as des données que dans la colonne A de chaque feuille avec une date, on pourrait déplacer toutes la colonne dans une feuille que l’on pourrait nommer ‘Archive’ et qui regrouperait les données des 365-6 jours de l’année sur 365-6 colonnes ? Ou moins si tu n’as pas des données tous les jours et que tu ne désires pas de colonnes vides sur cette feuille ‘Archive’. Suite à cet archivage, la feuille avec la date dans l’onglet pourrait être supprimée (automatiquement ou non).

Ceci ferrait qu’en finale tu aurais un fichier par année avec seulement deux feuilles : 'Résultat' et 'Archive'.

Attention, si tu lances la macro et que des prix sont déjà en place pour un hôtel pour une date qui se trouve également sur l’onglet d’une feuille, ils sont remplacés par les nouveaux prix trouvés.

Je n’ai pas très bien compris ce que tu voulais dire par « est ce possible d'extraire plusieurs dates en mm temps, (une semaine, un mois, une année) ». Parles-tu d’extraire les données d’Internet vers Excel ? Si oui je ne suis pas très au courant de tout ça et je ne sais pas si je pourrais t’aider. Mais soit tu m’expliques en deux mots comment tu t’y prends actuellement et je regarde si j’arrive à automatiser cela, soit tu ouvres un nouveau fil à ce sujet.

Merci de tester tout le reste et de me dire ce qui convient déjà, ce qui manque.

Bonnes salutations.

16data-v4.xlsm (97.10 Ko)

bonjour, et merci de m'avoir répondu,

un petit soucis, la macro ne fonctionne pas, j'ai essayé Trois types de formats, et ça ne marche pas, (les changements en jaune )

sinon l'archivage j'aurai besoin seulement de garder en sécurité les colonnes dans la feuille de résultat, (donc envie d'archiver chaque date passé qui correspond aux colonnes dans la feuilles résultat)

pour les feuilles de chaque date à supprimé, car le fichier va devenir trop gros, et lourd sinon,

pour extraire plusieurs dates , enfaite sur L'URL

http://www.trivago.fr/?iPathId=36103&bDispMoreFilter=false&iMemberProfileId=0&iClickoutType=1&aDateRange%5Barr%5D=2014-04-10&aDateRange%5Bdep%5D=2014-04-11&

aCategoryRange=5%2C4%2C3%2C2%2C1&iRoomType=7&aPartner=&aOverallLiking=1%2C2%2C3%2C4%2C5&iGeoDistanceLimit=20000&iLimit=25&iIncludeAll=0&bTopDealsOnly=false&iViewType=0&aPriceRange%5Bfrom%5D=0&aPriceRange%5Bto%5D=0&iGeoDistanceItem=2004231&sLeftBarState=filters&sRightBarState=history&bIsSeoPage=false&mgo=false&bHotelTestContext=false&th=false&aHotelTestClassifier=&bSharedRooms=false&bIsTotalPrice=false&bIsSitemap=false&" _

il y a la date du coup je souhaiterai si c'est possible d'avoir les données d'une semaine au mois,

BM

10data-v4.xlsm (96.86 Ko)

Re,

Ton lien ne fonctionne pas chez moi au travail (sécurités mises en place ?) : je vais encore regarder ça ce soir à la maison.

Pour les dates, je t’avais dit de voir à quel format elles apparaissaient dans la ligne 2 (sans rien modifier à cet endroit-là) et de reprendre le format visible pour le nom des feuilles, sur leur onglet respectif. Peux-tu encore essayer cela ? Dans l'image ci-dessous tu vois que chez moi les dates apparaissent a un certain format dans la ligne 2 et que je reprends ce format dans les onglets.

31 03

Pour ton archivage, je trouve compliqué d’archiver tes données sur la feuille ‘Résultat’. Pour quelle raison tu ne désires pas ma solution d’archiver ces données sur une feuille séparée ?

A te relire.

bonjour,

les deux formats sont différents, du coupe sur les onglet , le caractère / ne s’écrit pas sur les onglets (format non reconnu)

donc c'est pour ça j'ai essayé de changer le format des onglets,

et du coup ça ne fonctionne tjs pas

tu vas voir sur la PJ

sinon l'archivage ça me va sur une autre feuille externe , de copier seulement les colonnes des dates passés de la feuille résultat et les mettre dans une autre feuilles

10doc1.docx (174.93 Ko)

Salut,

En ce qui concerne le problème de date, je ne propose la solution suivante. Sur ta feuille ‘Résultat’, dans la ligne 2, tu gardes un format de date standard pour ta région (selon ce que tu m’as montré, au format jj/mm/aaaa) et pour les onglets, tu utilises le format ‘suisse’ jj.mm.aaaa.

J’ai alors modifié mon code afin qu’il transforme ta date en un texte utilisable. Je pense que ça devrait passer chez toi aussi.

Pour la suite, je suis parti dans une direction un peu différente. Comme tu veux finalement supprimer les feuilles utilisées, mon code regarde maintenant quels jours ont déjà été reportés en fonction de l’indication dans la ligne 3 de la feuille ‘Résultat’ (regarde par exemple la cellule CC3) et contrôle si pour les jours suivants, jusqu’à la date du jour, s’il y a une feuille qui correspond. Tel que mon fichier t’est présenté, ça contrôle les jours du 22 mars à la date du jour.

Si une feuille est trouvée, les reports de prix se font de la même manière que jusqu’à maintenant, mais en plus l’indication « Reporté » est inscrite dans la ligne 3, les données journalières reprises sur la feuille ‘Archive’ (qui comme tu peux le voir est vierge au départ), avec la date du jour dans la première ligne, et enfin supprime les feuilles journalières reportées.

Est-ce ça correspond à ton attente ?

Comme les essais peuvent être compliqués si les feuilles à reporter sont effacées, je te joins un deuxième fichier où elles ne le sont pas. Afin de faire plusieurs essais avec les mêmes feuilles, tu dois tricher et effacer à chaque fois les données reportées sur la feuille ‘Résultat’ (pour les feuilles en place, il faut effacer la plage CE3:CK15) ainsi que toutes les données de la feuille ‘Archive’.

En ce qui concerne les reports depuis ton site Internet, je te prierais d’ouvrir un nouveau fil à ce sujet car ça commence à faire un peu trop pour moi.

A te relire.

NB : Donne-toi la peine d'écrire d'une manière compréhensible ; tes textes ne sont pas toujours simples à lire (ponctuation, etc.).

9data-v5.xlsm (101.74 Ko)

bonjour,

je te répond tardivement désolé

je préfère la V5 avec suppression, juste ce qui m’intéresse à l'archivage c'est les colonnes des dates de la feuille résultat (dates passées)

on doit copier les colonnes des dates passées de la feuille résultat sur une feuille d'archivage, ensuite les onglets qui correspond aux colonnes archivées seront supprimées

cordialement,

BM

Salut,

On ne peut pas vraiment dire que tu as fait un effort en ce qui concerne la ponctuation

Je n’arrive pas à comprendre ce que tu veux me dire. Est-ce que tu es en train de me confirmer que ce que réalisent mes codes te convient bien ou est-ce que tu voudrais autre chose ?

Comme tu t’intéresses au fichier supprimant les feuilles, ne parlons plus que du fichier ‘data_V5’.

Dans ce fichier, lorsque tu places des feuilles avec des dates comme nom d’onglet (par exemple la feuille ‘23.03.2014’ en place dans le dernier fichier que je t’ai joins) et que tu lances le code par le bouton mis en place, mon premier code réalise ceci :

Point 1) il recherche sur les feuilles journalières (‘‘23.03.2014’, ‘27.03.2014’, etc.) le meilleures prix selon certains critères et les reporte sur la feuille ‘Résultat’

Point 2) il reporte l’entièreté de la colonne A de chaque feuille journalière sur la feuille ‘Archive’ avec la date du jour concerné dans la première ligne et

Point 3) il supprime les feuilles journalières.

Un deuxième code mis en place dans ton fichier fait que lorsque tu sélectionnes la feuille ‘Résultat’, Point 4) ça recherche la date du jour et ça t’affiche les 7 jours précédents (chiffre modifiable).

Peux-tu alors me dire lesquelles de ces étapes te conviennent ? Lesquelles ne te conviennent pas ? Lesquelles manquent ?

A te relire.

bonjour,

le point 1) est parfait à ne rien changé, me convient comme je le veux,

le point 2 ) au lieux de reporter l’entièreté de la colonne A de chaque feuille journalière sur la feuille ‘Archive’ avec la date du jour concerné dans la première ligne ==>>> maintenant ce que je souhaite dans ce point, est de reporté l'entièreté des colonnes de B jusqu'à CN , c à d (avant date du jour chaque fois ) de la feuille "Résultat" sur la feuille "Archive" avec leurs dates .

le point 3) est parfait aussi, juste si c'est possible de le mettre seul avec un bouton

le point 4) me convient aussi,

j’espère tu vas me comprendre avec le fichier que je t'ai joint la colonne nom hôtel reste fixe, juste les dates a reporté chaque fois

BM

13data-v5.xlsm (91.16 Ko)

Si les points 1 et 4 sont OK, j’en suis bien content

Laissons de côté le point 3 pour l’instant, on y reviendra lorsque le point 2 sera également résolu.

Point 2 : Lorsque tu sélectionnes la feuille Résultat, les données des 7 jours avant la date du jour sont visibles à l’écran – le 2 avril, ce sont les colonnes CH et suivantes que tu vois, demain les colonnes CI et suivantes, etc. - mais les autres données archivées sont bien présentes dans les autres colonnes, de B à CG. Pourquoi veux-tu archiver ces données à double ? Il me semble que c’est un boulot parfaitement inutile

Et si vraiment tu veux les archiver à double, faut-il les remplacer tous les jours ou les placer les unes au-dessous des autres ?

A te relire.

bonjour

cool alors,

si j'archive les colonnes des dates passées de la feuille résultat sur la feuille archive, du coup les colonnes sur la feuille résultat seront supprimées

BM

Rechercher des sujets similaires à "boucle vba recherche partir nom copier coller"