Code VBA pour faire une recherche avec plusieurs occurences

Julie75

XLDnaute Nouveau
Bonjour à tous!

Je suis nouvelle sur le forum, et j'espère poser ma question au bon endroit.

J'ai une question concernant Excel, et je pense qu'il n'existe pas de formule pour donner un résultat satisfaisant, il me faudrait donc (je pense) un code VBA.

Ce qu'il me faudrait c'est un truc qui me compare les lignes vertes (Jours) entre les feuilles 1 et 2 et me liste sur les valeurs communes aux deux lignes sur la ligne verte de l'onglet Synthèse et les valeurs correspondantes inscrites sur la ligne bleue des Feuilles 1 et 2 sur la ligne bleue l'onglet Synthèse.
Ensuite pour chaque valeur trouvée et inscrite sur la ligne verte de l'onglet Synthèse, rechercher cette valeur dans les tableaux en rouge dans les feuilles 1 et 2 et me liste les colonnes en jaune des feuilles 1 et 2 dans les lignes en jaune de l'onglet Synthèse.

J'espère être claire dans ma question, je vous joins mon fichier en PJ pour plus de clarté.

En vous remerciant par avance

Julie 75
 

Pièces jointes

  • QuestionDownloads.xls
    71.5 KB · Affichages: 122
  • QuestionDownloads.xls
    71.5 KB · Affichages: 123
  • QuestionDownloads.xls
    71.5 KB · Affichages: 126

flyonets44

XLDnaute Occasionnel
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonjour
Voici un exemple qui pourrait te servir
Cordialement
flyonets
 

Pièces jointes

  • Comparer_items.xls
    135 KB · Affichages: 187
  • Comparer_items.xls
    135 KB · Affichages: 176
  • Comparer_items.xls
    135 KB · Affichages: 185

Julie75

XLDnaute Nouveau
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonjour
Voici un exemple qui pourrait te servir
Cordialement
flyonets

Bonjour flyonets44,

Merci pour le fichier, mais étant plusieurs qu'ignorant en matière de VBA, pourriez vous me guider un peu SVP. Dites moi par exemple ce qu'il faut changer dans votre code pour lui dire d'aller récupérer les valeurs à comparer à tel endroit et de mettre les résultats à tel autre endroit, d'aller faire la recherche à tel endroit et de lister les résultats à tel endroit.

encore merci pour votre aide

Julie75
 

flyonets44

XLDnaute Occasionnel
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonsoir
les items à comparer doivent être placés colonne A; il sufit que tu copies tes données à comparer
dans mon fichier colonne A et ensuite tu cliques sur les boutons
Cordialement
Flyonets
 

JNP

XLDnaute Barbatruc
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonsoir le forum :),
Très claire, pas forcément :rolleyes:...
Pour la ligne verte, en B2 de la feuille synthèse :
Code:
=PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A:A))
formule matricielle à impérativement valider avec Ctrl+Maj+Enter, puis à glisser la droite :p...
Si c'est déjà ce que tu souhaites en ligne verte, on verra la suite :rolleyes:...
Bon réveillon :cool:
 

Julie75

XLDnaute Nouveau
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonsoir le forum :),
Très claire, pas forcément :rolleyes:...
Pour la ligne verte, en B2 de la feuille synthèse :
Code:
=PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A:A))
formule matricielle à impérativement valider avec Ctrl+Maj+Enter, puis à glisser la droite :p...
Si c'est déjà ce que tu souhaites en ligne verte, on verra la suite :rolleyes:...
Bon réveillon :cool:

Une petite question SVP JNP, où est ce que je dois mettre la formule dans B2 ou dans la première cellule verte?
 

Julie75

XLDnaute Nouveau
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonsoir
les items à comparer doivent être placés colonne A; il sufit que tu copies tes données à comparer
dans mon fichier colonne A et ensuite tu cliques sur les boutons
Cordialement
Flyonets

D'accord, je viens de faire comme vous avez dit, mais ça me donne ce message d'erreur "Erreur d'execution 1004 Erreur définie par l'application ou par l'obket. Et quand j'exécute la macro pas à pas, ça me souligne cette ligne Sub Itemscommuns() 'FLA 24.03.08.
Que faut-il faire?
 

flyonets44

XLDnaute Occasionnel
Re : Code VBA pour faire une recherche avec plusieurs occurences

Bonsoir
Sur mon pc çà fonctionne
voici mon fichier qui a traité tes identifiants situés colonne C
Cordialement
bon réveillon
Flyonets
 

Pièces jointes

  • Comparer_items.xls
    120.5 KB · Affichages: 90
  • Comparer_items.xls
    120.5 KB · Affichages: 97
  • Comparer_items.xls
    120.5 KB · Affichages: 100

Julie75

XLDnaute Nouveau
Re : Code VBA pour faire une recherche avec plusieurs occurences

Re :)Euh, si je dis B2, c'est B2 :rolleyes:...
Par rapport à ton fichier de test, bien sûr :p...
Bon réveillon :cool:

Bonsoir JNP,

En fait j'ai posé la question parce que quand je copie colle votre formule dans B2, je n'ai pas le résultat que je veux, c'est à dire les éléments communs aux onglets feuil1 et feuil2, j'ai bien validé par la combinaison des touches, mais le résultat que j'ai n'est pas correct. Je n'ai pas non plus compriqué compris toute la formule, mais je vois que ça a l'air de chercher dans l'onglet A de la feuille Synthèse, est-ce que c'est normal?

Encore merci pour votre aide

Julie
 

JNP

XLDnaute Barbatruc
Re : Code VBA pour faire une recherche avec plusieurs occurences

Re :),
A priori, 2003 ne supporte pas COLONNES($A:A) en matriciel :mad:...
Essaie
Code:
=PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A1:A1))
ça devrait le faire :rolleyes:...
A + :cool:
 

Julie75

XLDnaute Nouveau
Re : Code VBA pour faire une recherche avec plusieurs occurences

Re :),
A priori, 2003 ne supporte pas COLONNES($A:A) en matriciel :mad:...
Essaie
Code:
=PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A1:A1))
ça devrait le faire :rolleyes:...
A + :cool:

Re :),
A priori, 2003 ne supporte pas COLONNES($A:A) en matriciel :mad:...
Essaie
Code:
=PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A1:A1))
ça devrait le faire :rolleyes:...
A + :cool:

Désolé JNP,

ca ne marche toujours pas, ça me donne le même resultat que sous forme matricielle. En tout cas, j'ai réussi à faire la première partie de ma question en isolant les valeurs communes aux deux onglets "source". Vous pouvez peut-être concentré votre aide sur la suite de ma question.

Encore merci pour ton aide,

Julie
 

JNP

XLDnaute Barbatruc
Re : Code VBA pour faire une recherche avec plusieurs occurences

Re :),
Bizarre, ça fonctionne chez moi (voir la PJ) :confused:...
A + :cool:
 

Pièces jointes

  • QuestionDownloads.xls
    85 KB · Affichages: 89
  • QuestionDownloads.xls
    85 KB · Affichages: 82
  • QuestionDownloads.xls
    85 KB · Affichages: 85

JNP

XLDnaute Barbatruc
Re : Code VBA pour faire une recherche avec plusieurs occurences

Re :),
En fait j'ai les mêmes résultats, mais ils sont faux, si tu prends par exemple le premier, 27, on le retrouve dans l'onglet feuil1, mais pas 2, or j'ai besoin des valeurs présentes dans les deux onglets en même temps.
Les fêtes ne me valent rien :eek:...
La bonne formule est
Code:
=INDEX(Feuil1!$A$1:$FI$1;PETITE.VALEUR(SI(NB.SI(Feuil2!$B$1:$EY$1;Feuil1!$B$1:$FI$1);COLONNE($B$1:$FI$1));COLONNES($A1:A1)))
toujours en matriciel :rolleyes:
Désolé :eek:
A + :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 011
dernier inscrit
rine