VBA EXCEL pour comparer et copier des données
Résolu
berchy
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Berchy -
Berchy -
Bonjour,
Débutant en VBA j'aimerais bien trouver une aide dans le forum.
J'ai dans ma première feuille(2013) une liste de nom (col C) qui possède également un numéro unique (col B). Dans la colonne F un oui ou un non pour un test réussi.
Dans ma deuxième feuille (2014) j'ai la même liste, qui correspond à l'année suivante et j'aimerais trouver un code qui recherche en comparant les numéros de la col B, si le test a déjà été passé l'année précédente. Si c'est le cas, qu'il copie le oui dans la colonne F de la feuille 2014.
J'espère que je n'ai pas été trop confus mais je ne sais absolument pas comment résoudre ce problème.
Merci d'avance de votre aide
Débutant en VBA j'aimerais bien trouver une aide dans le forum.
J'ai dans ma première feuille(2013) une liste de nom (col C) qui possède également un numéro unique (col B). Dans la colonne F un oui ou un non pour un test réussi.
Dans ma deuxième feuille (2014) j'ai la même liste, qui correspond à l'année suivante et j'aimerais trouver un code qui recherche en comparant les numéros de la col B, si le test a déjà été passé l'année précédente. Si c'est le cas, qu'il copie le oui dans la colonne F de la feuille 2014.
J'espère que je n'ai pas été trop confus mais je ne sais absolument pas comment résoudre ce problème.
Merci d'avance de votre aide
4 réponses
-
Bonjour,
Pourquoi utiliser VBA lorsqu'une simple formule RECHERCHEV ou INDEX(EQUIV()) suffit ?
-
Parce qu'il y a 600 noms et j'aimerais le faire pour l'ensemble de la liste.
Cordialement -
Bonjour berchy
Pourquoi vouloir passer par une macro en VBA, une simple formule suffit:
En supposant les codes dans la Feuil2 aussi en colonne B et les retour oui ou rien à faire en colonne F , mettre en F1 la formule suivante :
=SI(INDEX(Feuil1!F:F;EQUIV(Feuil2!B1;Feuil1!B:B;0))="oui";"oui";"")
Cdlmnt
Via
-
J'y avais pensé mais les noms ne sont pas forcement sur la même ligne, il faut donc rechercher en premier si l'enregistrement existe dans la première feuille et si oui, vérifier si le test a été passé et recopier le oui. D'où mon idée de passer par du VBA.
C'est des listes d'élèves qui changent d'année en année.
CDT
Claude- Re,
Comme dis Patrice, que je salue au passage, ma formule fonctionne justement où que soit le numéro unique dans la 1ere feuille puisque les fonctionsINDEX EQUIV (c'est le principe de ces fonctions) font la recherche sur l'ensemble de la colonne B (Feuil1!B:B)
Fais l'essai et dis-nous
Si néanmoins tu persistes à vouloir réaliser une macro en VBA, postes un exemple de ton fichier (anonymé, tu remplaces les noms par des noms bidons) sur cjoint.com et tu reviens ici indiquer le lien fourni
Cdlmnt
Via
-
-
Je ne vois pas où est le problème avec les formules proposées par via55 (bonjour à toi) !!!
As-tu au moins essayé ???
-
Au temps pour moi !!!! Je ne connaissais pas la fonction INDEX EQUIV !
Un petit détail : Si un nom est présent sur la deuxième liste et pas sur la première il s'affiche #N/A. Est-il possible de ne rien afficher ???
Encore merci à tout ceux qui m'ont aidé et surtout via55 pour la solution.
Cordialement
Claude -
-