Equivalence de RechercheV en VBA

  • Initiateur de la discussion Initiateur de la discussion tonyhv
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tonyhv

Guest
Bonjour à tous(tes)

Comment rempacler la fonction RECHERCHEV par du VBA.
je souhaiterais replacer les formules de la feuille Choix par du BVA de façon a n'avoir que des données dans la feuille, plus tard j'intergrerais le code dans un uf. Et comme j'utilise beaucoup RCHERCHEV je pourais utiliser ce code dans d'autres appli. Je joint un morceau de mon fichier test.

Merci
 

Pièces jointes

Re : Equivalence de RechercheV en VBA

Bonjour



Une méthode possible (et instructive)

Utiliser l'enregistreur de macro
(puis modifier le code)

Ici exemple pour les formules de la colonnes B (feuille Choix)



Effaces les formules

Puis lance la macro ci-dessous


Code:
Sub Macro3()
Dim Fin As Long
Fin = [A65536].End(xlUp).Row
Range("B9").FormulaR1C1 = "=IF(AND(R3C5=1),IF(RC1<>"""",(R[-2]C+1)),"""")"
With Range("B10:B" & Fin)
.FormulaR1C1 = "=IF(AND(R3C5=1),IF(RC1<>"""",(R[-1]C+1)),"""")"
End With
End Sub
 
Dernière édition:
Re : Equivalence de RechercheV en VBA

Re


Voici la suite

Ici tu peux effacer les formules en B9:B30
et en D9:F30

Puis copie le code ci-dessous et lance la macro.

Code:
Sub Macro2()
Dim Fin As Long
Fin = [A65536].End(xlUp).Row
Range("B9").FormulaR1C1 = _
    "=IF(AND(R3C5=1),IF(RC1<>"""",(R[-2]C+1)),"""")"
    With Range("B10:B" & Fin)
        .FormulaR1C1 = _
        "=IF(AND(R3C5=1),IF(RC1<>"""",(R[-1]C+1)),"""")"
    End With
    With Range("D9:D" & Fin)
        .FormulaR1C1 = _
        "=IF(OR(R3C5=1),VLOOKUP(RC1,Base!C1:C45,3,),"""")"
    End With
    With Range("E9:E" & Fin)
        .FormulaR1C1 = _
        "=IF(OR(R3C5=1),VLOOKUP(RC1,Base!C1:C45,4,),"""")"
    End With
    With Range("F9:F" & Fin)
        .FormulaR1C1 = _
        "=IF(OR(R3C5=1),VLOOKUP(RC1,Base!C1:C45,9,),"""")"
    End With
End Sub
 
Re : Equivalence de RechercheV en VBA

Sa marche super bien, je vais pouvoir faire les deux autres tableaux en changeant ma variable, Quelle est la fonction pour suprimer toutes les formules sans etre obligé de faire un coper / collage spécial ?
merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
1 K
Retour