Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Equivalence de RechercheV en VBA

tonyhv

XLDnaute Nouveau
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

  • BaseMvtPersText.zip
    29.4 KB · Affichages: 41
  • BaseMvtPersText.zip
    29.4 KB · Affichages: 43
  • BaseMvtPersText.zip
    29.4 KB · Affichages: 44

Staple1600

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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
 

tonyhv

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
3
Affichages
336
Réponses
7
Affichages
514
Réponses
7
Affichages
462
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…