RechercheV en VBA sur deux onglets variables

Bonjour,

Je suis un débutant en VBA et après de longues heures de test je n'y m'en sors pas. Je viens donc demander de l'aide.

Dans le fichier si joint Je souhaiterai faire un rechercheV dans l'onglet PCU100.

+> RECHERCHEV(D2;'PCU100'!A:B;2;FAUX) voici la formule en Excel classique.

Afin de copier dans la colonne G de l'onglet PCA03 le résultat de la recherche. Sachant que le nombre de ligne sera variable dans les deux onglets.

J'aimerais que cette formule s'applique à chacune des lignes présentes dans l'onglet PCA03 et que si la valeur recherchée est absente dans l'onglet PCU100 le résultat soit "Non présent" mais que la recherchev se poursuive malgré tout jusqu'à la dernière ligne présente. De plus si le résultat de la recherche est vide que soit renseigné dans l'onglet PCA03 en résultat "Pas de maturité"

Merci d'avance pour votre aide.

18test-monetaire.xlsm (36.24 Ko)

Salut,

Voici une possibilité :

Dim DerLigne As Long
'
    Sheets("PCA03").Activate
    Range("G2").FormulaLocal = "=RECHERCHEV(D2;'PCU100'!A:B;2;0)"
    DerLigne = Range("D1").End(xlDown).Row
    Range("G2").AutoFill Destination:=Range("G2:G" & DerLigne)

A+

H

Tout d'abord merci pour ta réponse qui règle en partie mon problème.

La macro fonctionne bien mais :

• le calcul de la formule ne s'effectue pas il m'affiche la formule sans la calculer.

• Il me met la même formule sur l'ensemble des données alors que dans ma formule => =RECHERCHEV(D2;'PCU100'!A:B;2;0) le premier argument de la recherche doit aussi être variable.

Désolé si je n'avais pas été assez précis dans mon exposé.

D'avance. Merci

Effectivement, la colonne G est au format Texte, ce qui neutralise les formules.

Ceci devrait mieux fonctionner :

Dim DerLigne As Long
'
    Sheets("PCA03").Activate
    Range("G:G").NumberFormatLocal = "JJ/MM/AAAA"
    Range("G2").FormulaLocal = "=SIERREUR(RECHERCHEV(D2;'PCU100'!A:B;2;0);""Non présent"")"
    DerLigne = Range("D1").End(xlDown).Row
    Range("G2").AutoFill Destination:=Range("G2:G" & DerLigne)

A+

Merci encore elle fonctionne parfaitement Me reste juste à remplacer les 00/01/1900 par "Pas de maturité" et retravailler le fichier PCU100 car y a des dates en anglais et en français pour avoir les données souhaitées et passer à la suite.

Merci pour ta disponibilité.

Rechercher des sujets similaires à "recherchev vba deux onglets variables"