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

VlookUp, pourquoi aussi méchante !!

C

Cyb

Guest
j'ai un piti problème avec Vlookup dans le code VBA Excel.
Autant la fonction RechercheV dans les feuillets, ça roule, autant son équivalent VBA pose quelques soucis.
- Déja, il y a t-il un moyen d'appeller les cellules "normalement" (par ex, A3:B4) au lieu de la manière barbare (R[-2]C[-16]) qui ne commence jamais là ou je veux ?

- je vous explique, je travaille sur 2 onglets dans le classeur.
Sur un onglet, j'ai les données à traiter, l'autre contient une table de référence contenant des valeurs fixes.

Sur l'onglet des données, je dois faire une moulinette qui va lire une matrice sur 3 colonnes (code, intitulé, montant).
En parcourant le code, elle doit vérifier si ce code n'est pas inclus dans une des tables de référence sur l'autre onglet.
SI oui, elle ajoute le montant associé à une variable.
Si non, elle passe à la ligne suivant, etc.......

J'ai l'algo sur papier, mais la fonction Vlookup me pose problème car je n'arrive pas à déchiffrer à quelques lignes et colonnes correspondent les R[]C[], que je mette en relatif ou non, c'est pareil, ça ne correspond à rien de logique !! si je décale l'indice, je ne suis pas là ou je voudrais être !!! argh
bon bref, déja si vous pouviez m'aider un peu sur la Vlookup, et si c'est possible de mettre des cellules "claires" A3:B4 ?
merci à vous
 
@

@+Thierry

Guest
Salut Cyd,

Vite fait avant le film (sur M6... Dans 25 minutes le temps de me laver les dents et de me mettre sous la couette..... Petits Meurtres entre amis)...

Faudrait voir ton code ? on dirait une enregistrement de macro pour que tu aies "(R[-2]C[-16])"

Non, normalement on utilise pas çà en VBA...
on "Set" une plage... Style :
Set MaPlage = Sheets(1)Range("A1:H50")...

Ensuite on travaille dessus...
For Each Toto in Maplage etc... next

Le VlookUp en VBA est peut-être utile maisde mon humble coté je fais des boucles habituellement qui vont fait le "match"... et incrémenter des cellule (offset) de celle qui match...
Enfin je ne sais pas je n'ai même pas Excel là... devant Moa (oups moi !! hi hihi)
Mets un fichier exemple....

bon film !!! (à ne pas rater sous aucun prétexte !!)
@+Thierry
 
T

Ti

Guest
une petite formule matricielle vaut mieux parfois qu'une longue macro. Je te conseille de faire une recherche sur ce thème dans ce site, il y a des choses intéressantes si tu ne maîtrises pas bien le sujet.
En tout cas c'est par là que je suis passé pour résoudre ton problème.
 

Pièces jointes

  • VllookupTi.xls
    30.5 KB · Affichages: 71
C

Cyb

Guest
arf, en fait, j'ai oublié de préciser un détail :
dans l'onglet RESULTAT, je dois tout générer, ce n'est pas fixe dès le départ, et ça dépend des valeurs de l'onglet TEST.
je dois parcourir tous les centres, puis créer un tableau pour chaque centre dans l'onglet RESULTAT, avec les sous totaux par catégorie (URSSAF, etc.....).
la longueur des tableaux dans RESULTAT dépend en fait de la présence ou non de certains codes dans l'onglet TEST.

je pense donc qu'il faille passer par macro VBA, non ?
 

Discussions similaires

Réponses
3
Affichages
265
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…