Bonjour le Forum,
Je suis débutant en VBA, et je bloque sur une formule avec un gauche sur une plage de cellules dans un recherchev. Je me doute qu'il me manque du conditionnement mais lequel ?
Dans l'onglet "Synthèse", je trouve en cellule A4 ma cellule référence et en cellule B4 le résultat que je souhaite manuellement intégrer
Dans l'onglet "Base", je trouve ma colonne C des références et en colonne G le résultat de la macro
Je souhaite que si A4="B", il me change toutes les références commençants par B sinon il garde la formule pour le reste
Je souhaite que si A4="B5", il me change uniquement la référence B5 sinon il garde la formule pour le reste
Ma formule actuelle est la suivante:
"Sub Recherchev()
If Len(Sheets("Synthèse").Range("A4") = 1) Then
Sheets("Base").Range("G3:G33").Formula = Application.IfError(WorksheetFunction.VLookup(Left(Sheets("Base").Range("C3:C33"), 1), Sheets("Synthèse").Range("A4:B4"), 2, False), Sheets("Base").Range("G3:G33").Formula)
Else
Sheets("Base").Range("G3:G33").Formula
End If
If Len(Sheets("Synthèse").Range("A4") = 2) Then
Sheets("Base").Range("G3:G33").Formula = Application.IfError(WorksheetFunction.VLookup(Left(Sheets("Base").Range("C3:C33"), 1), Sheets("Synthèse").Range("A4:B4"), 2, False), Sheets("Base").Range("G3:G33").Formula)
Else
Sheets("Base").Range("G3:G33").Formula
End If
End Sub"
D'avance merci.
Je suis débutant en VBA, et je bloque sur une formule avec un gauche sur une plage de cellules dans un recherchev. Je me doute qu'il me manque du conditionnement mais lequel ?
Dans l'onglet "Synthèse", je trouve en cellule A4 ma cellule référence et en cellule B4 le résultat que je souhaite manuellement intégrer
Dans l'onglet "Base", je trouve ma colonne C des références et en colonne G le résultat de la macro
Je souhaite que si A4="B", il me change toutes les références commençants par B sinon il garde la formule pour le reste
Je souhaite que si A4="B5", il me change uniquement la référence B5 sinon il garde la formule pour le reste
Ma formule actuelle est la suivante:
"Sub Recherchev()
If Len(Sheets("Synthèse").Range("A4") = 1) Then
Sheets("Base").Range("G3:G33").Formula = Application.IfError(WorksheetFunction.VLookup(Left(Sheets("Base").Range("C3:C33"), 1), Sheets("Synthèse").Range("A4:B4"), 2, False), Sheets("Base").Range("G3:G33").Formula)
Else
Sheets("Base").Range("G3:G33").Formula
End If
If Len(Sheets("Synthèse").Range("A4") = 2) Then
Sheets("Base").Range("G3:G33").Formula = Application.IfError(WorksheetFunction.VLookup(Left(Sheets("Base").Range("C3:C33"), 1), Sheets("Synthèse").Range("A4:B4"), 2, False), Sheets("Base").Range("G3:G33").Formula)
Else
Sheets("Base").Range("G3:G33").Formula
End If
End Sub"
D'avance merci.