Affecter une valeur à un mot avec VBA

Résolu/Fermé
Nate - Modifié par Nate le 28/09/2011 à 11:05
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 28 sept. 2011 à 23:12
Bonjour,

Voila je débute sur VBA et je suis un peu bloqué là !
En fait, il faudrait que j'affecte une valeur à un mot, exemple, à "bonjour" la valeur 1 et à "salut" la valeur 0 ! Et je voudrais que cela se fasse automatiquement

Est ce que vous pouvez m'aider

MErciii

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 sept. 2011 à 11:50
Bonjour

Excel, Access, Word, Power-point ?

version >=2007, <2007 ?
0
Sur excel 2003
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
28 sept. 2011 à 15:10
Regarde ce code :
Sub Test()
Dim bonjour As Byte
Dim salut As Byte

  bonjour = 1
  salut = 0
  
  MsgBox "bonjour = " & bonjour & vbCr & _
         "salut = " & salut

End Sub

0
ok super ! :)
et comment faire maintenant pour que ce code évalue un certains nombres de cellules, et que sur la cellule juste à coté s'affiche soit 1 soit 0 ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
28 sept. 2011 à 17:30
Posée comme ceci le question amène un réponse très différente :
Sub Test()
Dim cel As Range   'cellule à contrôler
  
  For Each cel In ActiveSheet.Range("A1:A10").Cells
    If cel.Value = "bonjour" Then
      cel.Offset(0, 1).Value = 1
    ElseIf cel.Value = "salut" Then
      cel.Offset(0, 1).Value = 0
    End If
  Next cel

End Sub

0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
Modifié par eriiic le 28/09/2011 à 23:42
Bonsoir tout le monde,

ou par formule :
=NB.SI(A1:A10;"bonjour")

compte le nombre de fois où est inscrit "bonjour" dans A1:A10

eric

edit: désolé, je n'avais pas vu VBA dans le titre
si le but est de les compter dans une plage tu peux aussi faire ainsi :
n = Application.CountIf([A1:A10], "bonjour")
0