Trouver des même mot et afficher dans TextBox [Résolu]

Signaler
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019
-
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019
-
Bonjour

J’enregistres des donnés dans une feuille Excel, j’aimerai compter le même mot et afficher la somme des même mot est trouvé dans la cellule. Dans les textbox

Par ex. je dois trouver le mot PC, toto, winXP….


Les critère se trouve dans des colonnes séparer

Ex. " PC " dans la colonne D

" toto", "WinXp" » dans colonne F

J’ai dois trouvé une dizaine de critère et afficher dans les textbox.


J’ai des text box

TextBox_PC

TextBox_toto

TextBox_winXP

….

Merci de l’aide



Configuration: Windows / Edge 18.17763

1 réponse

Messages postés
1938
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 mai 2020
134
Bonjour,

Si tu devais le faire par formule, la fonction NB.SI serait toute indiquée.
En VBA tu peux utiliser Application.WorksheetFunction pour y faire appel. Fais un enregistrement de macro pour obtenir la syntaxe.

A+
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

salut,

j'ai fais comme ça

TextBox1.Value = Application.WorksheetFunction.CountIfs(Range("AE:AE"), "PC") 


ça marche bien.

je voulais savoir si c'était possible d'utiliser les control de textbox, au lieu de taper 20 ligne de codes .

merci.
Messages postés
11483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 juillet 2020
656 >
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

bonjour, il te faut d'abord trouver une méthode pour connaitre les noms des textboxes, et les textes à chercher.
Messages postés
1938
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 mai 2020
134
Re,

Si tu renommes tes textbox suivant le texte à chercher, tu peux tenter une astuce comme :
Private Sub UserForm_Initialize()
    For Each t In UserForm1.Controls
        t.Value = Application.WorksheetFunction.CountIfs(Range("AE:AE"), t.Name)
    Next t
End Sub

Après, il faut gérer les autres contrôles s'il y en a...

A+
Messages postés
11483
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
7 juillet 2020
656 >
Messages postés
1938
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
11 mai 2020

il est possible aussi de ne faire cela que pour les TextBoxes.
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

merci de l'aide, comme je ne maitrise pas trop les controls, alors je vais rester sur la solution n° 2, qui marche bien.