VBA : Inserer une formule recherchev dans une cellule
Résolu/Fermé
rolynx
Messages postés
73
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
10 avril 2014
-
17 mars 2014 à 19:01
rolynx Messages postés 73 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 10 avril 2014 - 21 mars 2014 à 18:46
rolynx Messages postés 73 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 10 avril 2014 - 21 mars 2014 à 18:46
1 réponse
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 18/03/2014 à 09:39
Modifié par michel_m le 18/03/2014 à 09:39
bonjour
Puisque tu découvres (bienvenue à bord du Titanic):
1/ évite au maximum les Select-Selection qui utilisent beaucoup de mémoire et ralentissent énormément les macros
2/ pourquoi écrire une formule qui va alourdir ton fichier alors que VBA peut te renvoyer la valeur cherchée
3/ n'oublie pas de traiter l'erreur possible (nom inconnu dans base article)
je te propose un code d'ici peu
Michel
Puisque tu découvres (bienvenue à bord du Titanic):
1/ évite au maximum les Select-Selection qui utilisent beaucoup de mémoire et ralentissent énormément les macros
2/ pourquoi écrire une formule qui va alourdir ton fichier alors que VBA peut te renvoyer la valeur cherchée
3/ n'oublie pas de traiter l'erreur possible (nom inconnu dans base article)
je te propose un code d'ici peu
Michel
Modifié par michel_m le 18/03/2014 à 10:00
et la maquette de travail
https://www.cjoint.com/?3Csj7E7uIt2
Nota: la macro SOS_events est très utile en cas de fausse manip !!! (ça, je sais faire)
Modifié par rolynx le 19/03/2014 à 18:55
Et en si peu de ligne !
Pour mon info car j'essaie de ne pas recopier bêtement et j'aime comprendre ce que j'écris.
2 petites choses :
Peux-tu m'expliquer ce que veut dire le target.count = 1
Peux tu rapidement m'expliquer la formule ".find" ? Je comprends bien la premiere valeur (target) qui correspond à la valeur recherchée mais pas le .Range("A2") et xlValues
Encore Merci !!!
19 mars 2014 à 18:54
20 mars 2014 à 14:41
Target.count compte le nombre de cellules sélectionnées
worksheet_change se déclenche sur le changement d' UNE SEULE Cellule
donc si pls celllulles---> Plantage de la macro
Find est un peu similaire à la formule EQUIV d'Excel
dans la colonne A cherche la valeur (xlvalues) de Target, en dessous de la cellule A2
là je demande la ligne mais je pourrai demander l'adresse,
ou créer la cellule
dim cellule as range
Set cellule=.Columns("A").Find(Target, .Range("A2"), xlValues)
tu trouveras de l'aide en ligne sur find à la rubrique "Range.find, méthode"
enfin pour potasser VBA
https://bidou.developpez.com/article/VBA/
Très complet, mais ca ne se lit pas comme un roman policier !
21 mars 2014 à 18:46