Ecrire formule en vba

max850 Messages postés 312 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir le forum

=SOMMEPROD((GAUCHE(D6:D21;2)="60")*(J6:J21)*1)


je voudrais ecrire la formule ci-dessus en vba en remplacant d21 par une variable et j21 par une variable
j'ai bien écris
dim dernl as integer
dim dern as integer 

dernl = Range("d" & Rows.Count).End(xlUp).Row
dern = Range("k" & Rows.Count).End(xlUp).Row
range("M10") = sommeprod((gauche("d6:d" & dernl),2))="70")* ("k6:k" & dern)*1)


mais cela ne fonctionne pas

Pouvez vous m'aider

merci

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.


4 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Essaies :
    Option Explicit
    Sub xxx()
    Dim frm As String
    Dim dLd As Long
    Dim dLk As Long
      With Worksheets("Feuil1")  'à adapter au nom de la feuille
        dLd = .Cells(.Rows.Count, "D").End(xlUp).Row
        dLk = .Cells(.Rows.Count, "K").End(xlUp).Row
        frm = "=SOMMEPROD((GAUCHE(D6:D" & dLd & ";2)=""60"")*(J6:J" & _
              dLk & ")*1)"
        .Range("M10").FormulaLocal = frm
      End With
    End Sub
    0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Il faut que tes plages soient identiques et donc une seule dernière ligne.
    Ta formule doit être en format local pour fonctionner. Utilises long car sinon tu ne vas pas jusqu'à la taille des feuilles.
    Dim dern As Long
    dern = Range("D" & Rows.Count).End(xlUp).Row
    Range("M10").FormulaLocal = "=SOMMEPROD((GAUCHE(D6:D" & dern & ";2)=""70"")*K6:K" & dern & ")"

    0
  3. max850 Messages postés 312 Statut Membre 3
     
    Bonjour Patrice33740 et gbinforme
    vos deux formules fonctionnent parfaitement merci
    mais je conserve celle de gbinforme car inutile de déclarer deux variables puisque les deux colonnes seront toujours de la même longueur.
    j'aurais du y penser avant
    merci pour vos conseils et bonne journée.
    0
  4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour, merci du retour et bonne continuation.
    0