Traduction d'une formule en macro

Bonjour,

J'aimerai obtenir une formule entré manuellement dans une cellule en sa traduction macro.

J'ai ces 4 formules :

=NBCAR(C2)-NBCAR(SUBSTITUE(C2;"/";""))

=SI(OU(GAUCHE(C4;2)="HQ";STXT(C4;3;3)="/11");RECHERCHEV(GAUCHE($C4;5);$C:$O;12;0);RECHERCHEV(GAUCHE($C4;4);$C:$O;12;0))

=SI(ET($D2=2;$K2="bottom");"";SI(OU(GAUCHE(C2;2)="HQ";STXT(C2;3;3)="/11");SI(OU(RECHERCHEV(GAUCHE($C2;8);$C:$X;12;0)=E2;E2="");"";

=SI(ET($D2=3;$K2="bottom");"";SI(OU(GAUCHE(C2;2)="HQ";STXT(C2;3;3)="/11");SI(OU(RECHERCHEV(GAUCHE($C2;11);$C:$X;12;0)=F2;F2="");"";

Mais je n'arrive pas à obtenir leur retranscription macro via l'enregistreur de macro.

Merci d'avance pour votre aide .

Obeida

Bonjour,

Peut-être quand mettant un classeur avec des données concernant les formules cela irait plus vite

Bonjour

De toute façon, tes deux dernières formules sont fausses et/ou incomplètes

Cordialement

Bonjour Obeida,

Juste quelques pistes, où G4 est une cellule de destination (au hasard) :

Pour ta 1ère formule :

[G4] = Len([C2]) - Len(Replace$([C2], "/", ""))

L'équivalent VBA de RECHERCHEV() est VLookup()

L'équivalent VBA de STXT() est Mid$()


Piste pour ta 2ème formule :

If Left$([C4], 2) = "HQ" Or Mid$([C4], 3, 3) = "/11" Then [G4] = VLookup(...)

à toi de remplacer "..." !


Début de ta 3ème formule :

If [D2] = 2 And [K2] = "bottom" Then

Je laisse la suite à un autre intervenant.

dhany

Bonjour,

Voici mon fichier avec les formules à partir de la colonne "D".

Merci

Bonjour

L'enregistreur marche parfaitement

Sub Macro1()
Sheets("Feuil1").Activate
    Range("D2").FormulaR1C1 = "=LEN(RC[-1])-LEN(SUBSTITUTE(RC[-1],""/"",""""))"
    Range("E2").FormulaR1C1 = _
        "=IF(OR(LEFT(RC[-2],2)=""HQ"",MID(RC[-2],3,3)=""/11""),VLOOKUP(LEFT(RC3,5),C3:C15,12,0),VLOOKUP(LEFT(RC3,4),C3:C15,12,0))"
    Range("F2").FormulaR1C1 = _
        "=IF(AND(RC4=2,RC11=""bottom""),"""",IF(OR(LEFT(RC[-3],2)=""HQ"",MID(RC[-3],3,3)=""/11""),IF(OR(VLOOKUP(LEFT(RC3,8),C3:C24,12,0)=RC[-1],RC[-1]=""""),"""",VLOOKUP(LEFT(RC3,8),C3:C24,12,0)),IF(OR(VLOOKUP(LEFT(RC3,6),C3:C24,12,0)=RC[-1],RC[-1]=""""),"""",VLOOKUP(LEFT(RC3,6),C3:C24,12,0))))"
    Range("G2").FormulaR1C1 = _
        "=IF(AND(RC4=3,RC11=""bottom""),"""",IF(OR(LEFT(RC[-4],2)=""HQ"",MID(RC[-4],3,3)=""/11""),IF(OR(VLOOKUP(LEFT(RC3,11),C3:C24,12,0)=RC[-1],RC[-1]=""""),"""",VLOOKUP(LEFT(RC3,11),C3:C24,12,0)),IF(OR(VLOOKUP(LEFT(RC3,8),C3:C24,12,0)=RC[-1],RC[-1]=""""),"""",VLOOKUP(LEFT(RC3,8),C3:C24,12,0))))"

End Sub

Cordialement

Bonjour,

Merci @Amadéus pour ta réponse, cela refonctionne .

Bonne journée

Rechercher des sujets similaires à "traduction formule macro"