Patrick,
même si nos codes sont plus efficaces, pour une fois qu'un demandeur respecte l'esprit de ce forum,
à savoir développer !
Il y a eu comme un contrat moral entre lui et moi du genre
« avance un peu de ton côté, propose-moi un code puis je t'aiderai à optimiser » …
Tu débarques comme un quignon de pain tombant dans l'assiette de soupe
en balançant un code alors que le "contrat" semblait clair !
Je préfère utiliser l'objet QueryTable si cela peut m'éviter de piloter IE
ou en cas de galère avec les en-têtes d'une requête …
Au passage ton code du post #20 déclenche de mon côté une erreur 9 sur la ligne de code n°8 !
C'est la raison de mon code du post #23 …
Fifi5622,
sur ma version 2003 de tests QueryTable ne passe pas pour cette adresse;
si besoin je regarderais sur une version d'Excel plus récente …
Pour ton souci de conversion de caractères si la source est bien encodée en utf-8
entre les lignes de code n°14 & 22 paramétrant la QueryTable insère cette ligne :
.TextFilePlatform = -535 ' ou 65001 …
Concernant ton code :
• Ligne n° 8 : pour chipoter effacer uniquement les cellules utilisées au lieu de l'intégralité de la feuille
en remplaçant Cells par UsedRange …
• Ligne n°14 : tu indiques la feuille "Ftrainer" pour la QueryTable mais pas pour la destination …
Aucune incidence quand c'est la feuille active, du reste ActiveSheet peut remplacer Sheets("Ftrainer") …
• Ligne n°42 : à éviter et au lieu d'ActiveCell.Offset dans les lignes suivantes
utiliser simplement la propriété Cells en lui passant les numéros de ligne et de colonne …
• Ligne n°44 : est-elle vraiment nécessaire ? Souvent on peut s'en passer pour contourner un problème.
• Ligne n°68 : la fonction Clean n'est pas appropriée dans ton problème d'encodage du texte,
consulter l'aide Excel de la fonction de feuille de calculs EPURAGE …
Sinon félicitations car pour un débutant tu t'es pas mal débrouillé !
J'attends ton retour avant de passer à l'étape suivante …
Partager