cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011
-
26 juil. 2007 à 19:56
logan77
Messages postés3Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention18 novembre 2008
-
18 nov. 2008 à 20:40
Bonjour,
Je cherche à faire par macro l'équivalent de la formule recherchev (ou vlookup) sans mettre dans la cellule la formule.
Sur la base de mes faibles connaissances en vba je mettrai la formule puis copie/collage spécial valeur.
Y a-t-il plus simple ou plus élégant?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 26 juil. 2007 à 20:15
Tu peux faire ta propre fonction.. Mais tout dépends de tes données, où se trouvent-elles ?
Quel est le lien avec d'autres données ? (car recherchev cherche la valeur dans une colonne, et donne la valeur d'une autre colonne de la même ligne)
cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011 26 juil. 2007 à 21:36
En fait je vais chercher une désignation dans un autre fichier à partir d'une référence.
Habituellement je mets une formule du type recherchev dans toute la colonne mais là je voudrais que ce soit transparent pour l'utilisateur (pas de formule).
Je vais donc mettre une inputbox pour récupérer la réf de l'article puis je complèterai la désignation.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 27 juil. 2007 à 00:52
Tu pourrais inscrire la formule dans toute la colonne à partir de VBA et la copier en valeur une fois que c'est fait. Si tu utilises Application.ScreenUpdating = False avant et le remets à True après, ça restera transparent pour l'utilisateur.
Autrement, tu devras utiliser Find pour trouver la valeur de départ, puis Offset pour trouver la valeur recherchée.
Si tu connais déjà la formule à inscrire, j'opterais pour la première option...
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 27 juil. 2007 à 20:32
Petite question : Pourquoi veux-tu que ça soit transparent pour ton utilisateur ? Une formule, c'est tellement plus simple.
Je ne vois que deux raisons :
- Tu as peur que ton utilisateur fasse une bêtise et supprime ou modifie la formule
- Tu pointes sur un fichier/onglet, et tu ne veux pas que l'utilisateur le voit, le sache
Dans les deux cas, il y a une solution toute simple, tu verrouilles la cellule et tu coche en plus la case "masquer"
A ton utilisateur, tu fournis un fichier dont la feuille est protégée (le mot de passe doit suffire, si ça te semble peu protégé avec, sache que ta macro ne le sera pas plus si ton utilisateur veut passer au travers).
Et là, dans tes cellules, impossible de supprimer la formule ou de la voir.
Molenn
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011 27 juil. 2007 à 23:22
Une formule sur quelques lignes ça va, mais une formule sur plusieurs centaines de lignes ça agrandit la taille du fichier. Deplus cette formule ne sert qu'une seule fois, quand la désignation a été associée à la référence la formule ne sert plus à rien.
Je vais donc mettre la formule dans la cellule puis copier et coller en valeur.
Merci pour votre aide!
cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011 28 juil. 2007 à 11:29
J'ai oublié de préciser que je ne voulais pas modifier les valeurs sur les autres lignes et que si je mets la formule dans toute la colonne ça pourrait se produire!