Traduire une formule en fonction

Bonjour

Je cherche à traduire la formule suivante:

=SI(ESTVIDE(B5);"";RECHERCHEV(B5;PERSONNELS!A1:F4;3))

en une fonction VBA

Merci pour votre aide

20garde.zip (55.09 Ko)

Bonsoir,

C'est la formule que tu veux ou uniquement le résultat de la formule ??

A te relire

C'est la formule

merci

Re,

Ok. Explique moi comment tu fonctionnes :

  • tu veux que le formule se place quand tu mets un chiffre en colonne B ou le tableau est déjà préparé et tu veux que la macro mettes toutes les formules en place avant de le compléter ?
  • la feuille Vendredi est une feuille qui change de nom et si oui comment fais tu ? Tu dupliques la feuille ?

A te relire

Merci Dan pour ta patience.

J'ai joint le même fichier avec plus d'explications

Cdlt

24garde.zip (60.76 Ko)

re,

Clique droite sur l'onglet "Vendredi" puis choisis "Visualiser le code".

Dans la fenêtre colle le code ci-dessous

Private Sub Worksheet_Change(ByVal Target As Range)
'Macro Dan pour Gérald le 24/08/2010
If Not Intersect(Target, Range("B5:B" & Range("B65536").End(xlUp).Row)) Is Nothing Then
Select Case Target
Case Is <> ""
With Target
    .Offset(0, 1).FormulaR1C1 = _
        "=IF(ISBLANK(RC2),"""",VLOOKUP(RC[-1],Plage,2))"
    .Offset(0, 2).FormulaR1C1 = _
        "=IF(ISBLANK(RC2),"""",VLOOKUP(RC[-2],Plage,3))"
    .Offset(0, 3).FormulaR1C1 = _
        "=IF(ISBLANK(RC2),"""",VLOOKUP(RC[-3],Plage,4))"
End With
Case Else
Range("C" & Target.Row & ":E" & Target.Row).ClearContents
End Select
End If
End Sub

Amicalement

J'ai éssayé la manipulation mais cela m'indique #NOM? comme résultat.

-- 25 Aoû 2010, 14:19 --

J'ai éssayé la manipulation mais cela m'indique #NOM? comme résultat.

re,

Oups désolé j'ai omis de t'informer de quelque chose dans mon précédent post.

Fais ceci :

  • Clique sur la feuille PERSONNELS
  • Vas dans INSERTION / NOM / DEFINIR
  • Dans la rubrique "noms dans classeur" tapes --> "Plage"
  • Dans la rubrique "fait ref à" mets cette formule --> =DECALER(PERSONNELS!$A$2;;;NBVAL(PERSONNELS!$A:$A)-1;6) puis OK.

Refais un essai

Amicalement

Bonjour Dan

Ca marche super, à moi de l'adapter maintenant

Merci

Rechercher des sujets similaires à "traduire formule fonction"