Problème combobox vba

Bonjour,

j'essaie de faire une somme selon plusieurs critères ainsi qu'une extraction à partir d'une base en filtrant sur la valeur choisie dans une combobox.
Ci-joint mon programme:
Sheets("Feuil1").Range("D14").Value = Evaluate("=sumproduct((plageC=" & "16" & ")*(plageI=" & ComboBox1.Value & ")(plageE=" & """o """ & ")*plageG)")

Sheets("Feuil2").Range("a2").Value = ComboBox1.Value
Sheets("Feuil3").Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Feuil2").Range("a1:a2"), CopyToRange:=Range("extr"), Unique:=False

Je pense avoir tout bien défini.

Donc pour le sumproduct, j'obtiens: #VALEUR!
et pour l'extraction erreur d'exécution 1004 et la méthode 'range' de l'objet '_worksheet' a échoué.

Je vous remercie de vos lumières.

6 réponses

  1. Est ce que tu as plusieurs comobox dans ton worksheet ?
    Je pense que tu appel un comobox qui n'existe pas ou que son nom est différent.
    1. je n ai qu une seule combobox et elle est bien appelée car quand je fais
      Sheets("Feuil2").Range("a2").Value = ComboBox1.Value je récupère la valeur choisie dans mon menu déroulant.
      1. Bonjour,
        Pour être sûr fait tourner ce bout de code et tu aura toutes l'information sur tous les objets dans ton classeur:

        Sub GetShapeProperties()
        Dim sShapes As Shape, lLoop As Long
        Dim wsStart As Worksheet, WsNew As Worksheet

        Set wsStart = ActiveSheet
        Set WsNew = Sheets.Add

        'Add headings for our lists. Expand as needed
        WsNew.Range("A1:F1") = Array("Shape Name", "Shape Type", "Height", "Width", "Left", "Top")

        'Loop through all shapes on active sheet
        For Each sShapes In wsStart.Shapes
        'Increment Variable lLoop for row numbers
        lLoop = lLoop + 1
        With sShapes
        'Add shape properties
        WsNew.Cells(lLoop + 1, 1) = .Name
        WsNew.Cells(lLoop + 1, 2) = .OLEFormat.Object.Name
        WsNew.Cells(lLoop + 1, 3) = .Height
        WsNew.Cells(lLoop + 1, 4) = .Width
        WsNew.Cells(lLoop + 1, 5) = .Left
        WsNew.Cells(lLoop + 1, 6) = .Top
        'Follow the same pattern for more
        End With
        Next sShapes

        'AutoFit Columns.

        WsNew.Columns.AutoFit
        End Sub
        1. merci mais je n'ai pas besoin de faire tourner ce bout de code vu que je sais que ma combobox est bien la combobox1 car j ai fait le test en mettant la valeur dans une autre cellule.