Trouver des même mot et afficher dans TextBox

Résolu
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    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+
    0
    1. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      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.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention  
         
        bonjour, il te faut d'abord trouver une méthode pour connaitre les noms des textboxes, et les textes à chercher.
        0
    2. Zoul67 Messages postés 2001 Statut Membre 149
       
      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+
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Zoul67 Messages postés 2001 Statut Membre
         
        il est possible aussi de ne faire cela que pour les TextBoxes.
        0
    3. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      merci de l'aide, comme je ne maitrise pas trop les controls, alors je vais rester sur la solution n° 2, qui marche bien.
      0