Array et plages non contigue

Bonjour à tous

Je cherche a remplir un array avec 2 colonnes d'une sheet d'un workbook X. les colonnes n'étant pas forcement contiguës (dépend de l'architecture du fichier source qui est variable).

J'ai crée une petite forms pour choisir le Workbook cible, puis choisir le bon sheet et les 2 colonnes souhaitées. Mais après cela coince...

Je voudrai charger les data du fichier cible (par exemple nouveaux tarifs 2022) dans un Array pour ensuite aller mettre à jour mon fichier Excel de travail où ce code vba sera utilisé.

12test.xlsm (37.92 Ko)
12tarif-2022.xlsx (48.94 Ko)

bonjour

une proposition qui charge ton array tarif. A toi de voir ce que tu en fais ensuite.

15test-26.xlsm (40.79 Ko)

Hello h2so4

Merci beaucoup pour ta proposition. Je n'avais pas pensé passer par une feuille temporaire, j'essayé de remplir directement mon Array avec mes 2 colonnes non contiguës. Juste pour ma connaissance personnelle, est-ce faisable ou pas? Remplir en une fois un Array avec plusieurs Range non contiguës? Apparemment non

Prochaine étape est la mise à jour de mes tarifs, à partir de l'ArrayTarif créé depuis le fichier tarif-2022.xls.

Quelle serait la procédure la plus rapide à exécuter? Sachant que mon ArrayTarif contiendrait 20000 lignes mais que le fichier à updater au max 500? Une simple boucle de comparaison?

En gros sur le fichier Test.xlsm, j'ai mon bouton de MAJ sur la Feuille "Source" et que je veux mettre à jour les tarifs de la colonne Q (fixe) en fonction des références de la colonne D (fixe), à partir de l'ArrayTarif.

La seule différence entre les références de l'ArrayTarif et celles de la colonne D, est un préfixe MG pour chaque référence de l'ArrayTarif... pas sûr d'avoir été clair ;-)

9test.xlsm (64.96 Ko)
5tarif-2022.xlsx (48.94 Ko)

Bonjour,

une nouvelle proposition, Pour 500 lignes à mettre à jour sur base de 20000, via des formules excel c'est quasiment imperceptible.

24test-27.xlsm (56.23 Ko)

Bonjour,

c'est faisable, mais pas instinctif.
Voir exemple de Boisgontier : http://boisgontierj.free.fr/pages_site/tableaux.htm#FiltreColArray

Il faudrait comparer le temps avec l'utilisation d'une feuille intermédiaire, voir s'il y a un gain.
eric

Re h2so4

Merci pour ta solution qui fonctionne quasiment.... sauf que pour certaines références, le prix updaté me donne #N/A alors que la référence et le tarif sont bien dans je fichier d'origine tarif 2022.... une idée du problème?

Peut-être un souci de format de cellule? Sur l'onglet source la colonne G est en comptabilité alors que sur le fichier tarif c'est en standard...

@Eric: merci pour le lien, je vais regarder cela de plus prêt pour comprendre le fonctionnement

re-Bonjour,

j'ai regardé les 2 premiers #N/A et je ne retrouve pas les références dans aucun des 2 fichiers tarifs que tu as mis. donc le #N/A est pour moi normal. Il se pourrait que j'ai mal regardé. donc merci de m'indiquer pour chaque #N/A problématique, le numéro de la ligne du tarif qui contient la référence qui aurait dû être trouvée.

Autant pour moi cela fonctionne nickel (c'était juste un espace en trop sur certaines référence)

Un grand merci pour ton aide h2So4

Rechercher des sujets similaires à "array plages contigue"