Somme Si en VBA

Bonjour j'ai un pb avec mon code VBA,

Qui peut m'aider à trouver l'erreur please.

F1.Range("H" & Ligne + 1) = Application.SumIf(("C" & Ligne), "BBB", ("H" & Ligne))

J'ai mis également le fichier en pièce jointe

Merci de vos réponse

Bonjour

D'après ce que je comprends

    F1.Range("D" & Ligne + 1) = Application.SumIf(Range("C" & Lgdep & ":C" & Ligne), "BBB", Range("D" & Lgdep & ":D" & Ligne))

Merci encore Banzai !!!

ça marche Nickel, tu sais même pas comment tu m'aides

Dommage qu'on ne peut pas envoyer de chocolat

Une dernière chose Banzai64, je n'avais pas pris en compte le fait qu'on pouvait avoir BBB ou BBB+ comment faire le ou dans la formule

merci d'avance

Bonjour

Essayes

F1.Range("D" & Ligne + 1) = Application.SumIf(Range("C" & Lgdep & ":C" & Ligne), "BBB*", Range("D" & Lgdep & ":D" & Ligne))

Comme d'hab ça marche nickel. Et on se sent un peu con de ne pas y avoir pensé

Bonjour Banzai64,

J'ai un souci avec un code, en fait le premier ci dessous marche, mais je ne comprends pas pourquoi l'autre ne marche pas

Marche

For J = 2 To F5.Range("J" & Rows.Count).End(xlUp).Row
      Set Cel = F4.Columns("AM").Find(what:=F5.Range("J" & J), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        If UCase(Trim(F4.Range("AN" & Cel.Row))) = UCase("axa Court Terme") Then
          F1.Range("A" & Ligne) = F5.Range("J" & J)
          F1.Range("B" & Ligne) = F5.Range("P" & J)
               Ligne = Ligne + 1
    End If
    End If
  Next J

et celle la ne marche pas

For J = 2 To F5.Range("J" & Rows.Count).End(xlUp).Row
  Set Cel = F4.Columns("AM").Find(what:=F5.Range("J" & J), LookIn:=xlValues, lookat:=xlWhole)
  If Not Cel Is Nothing Then
        If UCase(Trim(F4.Range("C" & Cel.Row))) = UCase("equities") And _
                                  UCase(F4.Range("AX" & Cel.Row)) = UCase("indirect holding") And UCase(F4.Range("CL" & Cel.Row)) Like "ZONE EUROPE*" Then
       F1.Range("A" & Ligne) = F5.Range("J" & J)
        Ligne = Ligne + 1
      End If
    End If
  Next J

Merci de ton aide !!!

Cdt,

Aminata

Bonjour

A 1ère vue pour moi elles fonctionnent toutes les 2

Et quand tu dis

hamynaa a écrit :

et celle la ne marche pas

cela veut dire quoi : Une erreur,Pas la bonne valeur, rien du tout ?

Ce qu'il faudrait c'est le fichier avec cette macro et tu indiques quel résultat tu dois obtenir

Merci!!

J'ai trouvé l'erreur, en effet, au niveau des bases je n'ai pas la nationalité de mes OPCVM. J'ai uniquement la nationalité par ligne.

Banzai est ce que par le plus grand des hasards tu n'aurai pas un code qui gére la zone euro. Par exemple si je mets:

if colonne (pays) = "zone euro" ça marche. c'est à dire il reconnait automatique via le nom du pays sa zone d'appartenance.

Merci pour tout

Bonne fin de journée

Bonjour

Désolé je n'ai pas ça en stock

Il y aura toujours une recherche pour savoir si ce pays fait partie de la zone euro

Je ne le vois pas autrement

Style

If Instr(1,",France,Allemagne,Italie,Espagne,......,","," & Pays_à_tester & ",")> 0 Then
  MsgBox Pays_à_tester & " fait partie de la zone Euro"
End If

Merci Banzai64,

Je creuse la piste et je te tiendrai au courant

Rechercher des sujets similaires à "somme vba"