RecherchV avec VBA dans plusieurs onglets

Résolu/Fermé
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 - 28 sept. 2014 à 02:03
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 - 3 oct. 2014 à 21:51
Bonjour,

J'ai un fichier excel avec plusieurs onglets (resultat, Base1, Base2, Base3)
Je souhaiterais avec une macro faire une recherchV des données de l'onglet resultat dans les trois bases.

Autrement dit, lorsque, la valeur n'est pas dans la base1, la macro doit continuer sa recherche dans la base2, ainsi de suite jusqu'au dernier onglet.

Au cas ou la valeur recherchée n'est présente dans aucun onglet, je dois avoir le message "valeur absente".

Je vous donne le lien de mon fichier: https://www.cjoint.com/?DICcd4KXdyJ

Merci pour votre aide!!

4 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
Modifié par Mytå le 28/09/2014 à 02:15
Salut le Forum

Merci de rester sur la même demande initiale.

https://forums.commentcamarche.net/forum/affich-30807015-recherchev-sur-plusieurs-onglets

Mytå

Merci de donner suite à votre question, nous ne sommes pas des robots...
« Si le déboguage est l'art d'enlever les bogues, alors la programmation doit être l'art de les créer. »
0
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 3
28 sept. 2014 à 14:52
Bonjour,
La première demande était avec des formules. Je constate qu'avec plus de 20 onglets cela ne fonctionne.
Cette fois-ci la demande concerne le même sujet mais avec des Macros.

Ainsi, on ne peut pas dire que c'est la même demande.

Merci pour votre aide!!
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
28 sept. 2014 à 16:12
Bonjour senecartour

Essaie cette macro :
Sub recherchemulti()
Dim DernLigne As Long
Dim DernLignebase As Long
'derniere ligne non vide de Resultat
DernLigne = Sheets("Resultat").Range("A" & Rows.Count).End(xlUp).Row
' boucle sur les lignes de Resultat
For n = 2 To DernLigne
' produit à rechercher
produit = Sheets("Resultat").Range("A" & n).Value
' boucle sur tous les onglets du 2eme au dernier
For t = 2 To Sheets.Count
'dernière ligne non vide de l'onglet
DernLignebase = Sheets(t).Range("A" & Rows.Count).End(xlUp).Row
'recherchev sur l'ongley
resultat = Application.VLookup(produit, Sheets(t).Range("A2:B" & DernLignebase), 2, False)
' si la recherchev aboutit placement du resultat trouvé dans Resultat et sortie de boucle
If Not (IsError(resultat)) Then Sheets("Resultat").Range("B" & n) = resultat: Exit For
Next t
Next n
End Sub


Cdlmnt
0
senecartour Messages postés 325 Date d'inscription dimanche 12 mai 2013 Statut Membre Dernière intervention 29 octobre 2020 3
3 oct. 2014 à 21:51
Bonsoir,
Désolé pour le retard! j'étais en vacance!!
votre macro marche supr bien!!
merci infiniment!!
0