Plage Variable avec $ en VBA

Bonsoir à tous,

C'est au sujet d'un travail que je dois terminer ce soir, je veux traduire cette formule en langage VBA:

=SI(SOMMEPROD(N(GAUCHE($M2;NBCAR($N$2:$N$2168))=$N$2:$N$2168))>0;$M2;"NA") mais en définissant un paramètre qui est

Dim DernLigne As Long 'Définir dernière Ligne non vide de la colonne I par exemple

DernLigne = Range("I" & Rows.Count).End(xlUp).Row

la formule s'applique de N2 à N2168 mais je la veux de N2 à N(DernLign)

voici comment est traduite la formule sans utiliser mon paramètre DernLigne:

Selection.FormulaArray = _

"=IF(SUMPRODUCT(N(LEFT(RC[-2],LEN(R3C13:R3060C13))=R3C13:R3060C13))>0,RC[-2],""N/A"")"

Merci Par avance

Bonjour

Un fichier avec les formules aurait été préférable aux 2 versions de la formule

=SI(SOMMEPROD(N(GAUCHE($M2;NBCAR($N$2:$N$2168))=$N$2:$N$2168))>0;$M2;"NA")

et

"=IF(SUMPRODUCT(N(LEFT(RC[-2],LEN(R3C13:R3060C13))=R3C13:R3060C13))>0,RC[-2],""N/A"")"

RC[-2] (si la formule est en colonne N - colonne 14 ) correspond à la colonne L ( colonne 12) et non M (1ère formule)

C13 correspond à la colonne M et non N (1ère formule)

R3 correspond à la ligne 3 et non 2 (1ère formule)

Sinon si cela peut t'aider

Sub test()
Dim DernLigne As Long         'Définir dernière Ligne non vide de la colonne I par exemple
  DernLigne = Range("I" & Rows.Count).End(xlUp).Row
   Range("N2:N" & DernLigne).FormulaArray = "=IF(SUMPRODUCT(N(LEFT(RC[-2],LEN(R3C13:R" & DernLigne & "C13))=R3C13:R" & DernLigne & "C13))>0,RC[-2],""N/A"")"

End Sub

Merci Banzai pour ton essai et ton aide,

Je veux traduire en VBA comme j'ai mis en formule: =SI(SOMMEPROD(N(GAUCHE($M2;NBCAR($N$2:$N$2168))=$N$2:$N$2168))>0;$M2;"NA") mais en rajoutant le paramètre de la dernière ligne de la colonne I j'ai essayé avec

DernLigne2 est définie comme dernière ligne de I non vide

je me suis basée sur la formule que t'as donné:

Range("O2:O" & DernLigne).FormulaArray = "=IF(SUMPRODUCT(N(LEFT(RC13,LEN(R2C14:R" & DernLigne2 & "C14))=R2C14:R" & DernLigne & "C13))>0,RC13,""N/A"")"

mais ça m'envoie comme result #N/A!!!!

Amicalement,

Bonjour

Sans fichier de ta part j'ai testé sur un fichier personnel

Banzai64 a écrit :

Un fichier avec les formules aurait été préférable aux 2 versions de la formule

Au lieu de perdre du temps, fournis le fichier avec les formules exactes que tu veux avoir

Mon fichier test

Rechercher des sujets similaires à "plage variable vba"