VBA EXCEL pour comparer et copier des données
Résolu/Fermé
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
-
21 avril 2015 à 15:24
Berchy - 23 avril 2015 à 10:07
Berchy - 23 avril 2015 à 10:07
A voir également:
- VBA EXCEL pour comparer et copier des données
- Si et excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Trier des données excel - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
21 avril 2015 à 15:50
21 avril 2015 à 15:50
Bonjour,
Pourquoi utiliser VBA lorsqu'une simple formule RECHERCHEV ou INDEX(EQUIV()) suffit ?
Pourquoi utiliser VBA lorsqu'une simple formule RECHERCHEV ou INDEX(EQUIV()) suffit ?
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
21 avril 2015 à 15:53
21 avril 2015 à 15:53
Parce qu'il y a 600 noms et j'aimerais le faire pour l'ensemble de la liste.
Cordialement
Cordialement
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
21 avril 2015 à 15:54
21 avril 2015 à 15:54
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
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
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
21 avril 2015 à 16:00
21 avril 2015 à 16:00
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
C'est des listes d'élèves qui changent d'année en année.
CDT
Claude
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
>
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
21 avril 2015 à 16:47
21 avril 2015 à 16:47
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
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
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
21 avril 2015 à 16:40
21 avril 2015 à 16:40
Je ne vois pas où est le problème avec les formules proposées par via55 (bonjour à toi) !!!
As-tu au moins essayé ???
As-tu au moins essayé ???
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
22 avril 2015 à 07:55
22 avril 2015 à 07:55
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
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
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
>
berchy
Messages postés
4
Date d'inscription
mardi 21 avril 2015
Statut
Membre
Dernière intervention
22 avril 2015
Modifié par via55 le 22/04/2015 à 13:44
Modifié par via55 le 22/04/2015 à 13:44
Bonjour Berchy,
Pour gérer l'erreur transforme la formule ainsi :
=SIERREUR(SI(INDEX(Feuil1!F:F;EQUIV(Feuil2!B1;Feuil1!B:B;0))="oui";"oui";"");"")
Cdlmnt
Via
Pour gérer l'erreur transforme la formule ainsi :
=SIERREUR(SI(INDEX(Feuil1!F:F;EQUIV(Feuil2!B1;Feuil1!B:B;0))="oui";"oui";"");"")
Cdlmnt
Via