Ecrire formule en vba

Fermé
max850 Messages postés 304 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - Modifié le 9 mai 2017 à 00:20
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 9 mai 2017 à 18:48
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

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
9 mai 2017 à 08:16
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
9 mai 2017 à 08:25
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
max850 Messages postés 304 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 3
9 mai 2017 à 09:51
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
9 mai 2017 à 18:48
Bonjour, merci du retour et bonne continuation.
0