VBA Extraire donnée via CBBOX sur TEXTBOX

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Youpi Ouai!

XLDnaute Nouveau
Bonjour à tous,

Voilà je cherche à faire apparaitre dans une textbox une donnée extraite d'une feuille excel dont le critère est apporté dans une CbBox
N'arrivant pas à trouvé la bonne syntaxe j'ai donc consulté ce forum et une solution est proposée lors d'une discussion en 2016 intitulée :XL 2013 Somme SI dans Textbox avec critere dans Combobox.
J'ai donc repris point par point la solution proposée mais rien y fait ma textBox affiche 0

Voici donc la syntaxe utilisée:

Sub ComboBox11_Change()

Dim LaRecherche As String
Dim Val_11

LaRecherche = Application.WorksheetFunction.SumIf(Sheets("REF.FOUR.").Range("C:C"), Val_11, Sheets("REF.FOUR.").Range("A:A"))
TextBox11 = LaRecherche

End Sub

Pour info la colonne C à pour donnée du texte et la colonne à des chiffres. Cependant lorsque j'utilise la fonction directement sur EXCEL ça fonctionne.

LA CBBox et la TextBox se trouvent dans une multipage

Quelqu'un sera-t'il me dire où est mon erreur?

Par avance Merci.
 
Bonjour Youpi Ouai! et bienvenue su XLD

À quoi correspond la variable Val_11?? Et tu peux enlever Application, WorksheetFunction.SumIf suffit.

Dim Val_11 As Range , LaRecherche

Set Val_11 = Range("B2")
 
Dernière édition:
Bonsoir le fil, le forum

On peut aussi conserver Application (si on aime bien limiter le nombre de caractère et faire d'une pierre deux coups 😉 )
VB:
Sub a() 'c'est un bout de macro pour illustrer mon propos
Dim larech$
With Application
.ScreenUpdating = False
    larech = .Sum(Range("A1:A10"))
    MsgBox larech
End With
End Sub
 
Bonsoir à tous, et merci de pour vos commentaires et éclairages.

Désolé de répondre si tardivement mais j'était au travail.

Pour répondre à Lone-wolf la variable est la solution proposée par naru 31 donc le commentaire était le suivant:

Salut,

Je pense qu'il te faut déclarer ta ComboboxT1 en variable, essaie ça :

Private Sub ComboboxT1_Change()
Dim LaRecherche As String
Dim Val_T1

LaRecherche = Application.WorksheetFunction.SumIf(Sheets("Budget 2016").Range("A:A"), Val_T1, Sheets("Budget 2016").Range("F:F"))
TextBoxOldFrom = LaRecherche
End Sub

La solution convenant à le demandeur et correspondant à cet que je recherchait, j'ai donc calqué cette syntaxe et me suis suis appliqué à modifier seulement les noms de la CBB de la Texte Box des feuilles et des ranges
 
Re bonjour tous,

Après votre interpellation sur l'opportunité de la variable Val_11 et une bonne nuit de sommeil, je l'ai retiré et en effet ça marche.

Je ne comprends pas pourquoi naru 31 à considéré la nécessite de cette variable.

Quoi qu'il en soit ma procédure est la suivante:

Sub ComboBox11_Change()

Dim LaRecherche As String

LaRecherche =WorksheetFunction.SumIf(Sheets("REF.FOUR.").Range("C:C"), ComboBox11, Sheets("REF.FOUR.").Range("A:A"))
TextBox11 = LaRecherche

End Sub

Si ça peut aider quelqu'un...

Merci à tous.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
690
Retour