Additionner selon critères [VBA]

Question facile pour quiconque connait un peu Excel.

  • Je désire créer une macro.
  • Dans cette macro, je veux une variable entière qui aura le nom de "x"
  • Lorsque j'appuis sur un bouton, je veux que les algorithmes fassent ceci :

1) Vérifier si "Oiseau" est écrit dans les cellules A1, A3 et A3.

2) Si oui, "x" augmente de 1 à chaque fois que oiseau est vu dans une de ces cellules (si "Oiseau est dans A1 et A2, "x" augmentera de 2

3 Écrire la valeur actuelle de "x" dans la cellule B1

J'aurais besoin de le code complet compris entre "Sub Bouton1()" et "End" s'il-vous-plaît

Merci de votre aide.

Bonjour,

Edite ton titre stp (voir charte du forum).

Sub Bouton1()
    Range("B1") = WorksheetFunction.CountIf(Range("A1:A3"), "Oiseau")
End Sub

Cordialement

J'ai oublié de préciser quelque chose. Je veux que "x" garde sa valeur et qu'il s'additionne avec sa nouvelle valeur si on ré-appuie sur le bouton. Avec l'algorithme que tu viens de me donner, la valeur de la cellule B1 change, mais rien n'est gardé en mémoire.

Exemple : La première fois que j'appuis sur le bouton, l'algorithme compte le nombre de fois qu'il voit "oiseau" dans les 3 cases. Disons, par exemple, qu'il en compte 2. La valeur 2 va alors dans la cellule B1.

La deuxième fois que j'appuis sur le bouton, s'il compte 1 fois le mot "oiseau", je veux que la valeur dans B1 devienne 3. (Soit le 2 du début, plus le 1 de maintenant).

P.S : Quel nom devrais-je donner à mon titre ? Je ne sais pas quoi donner comme titre à cette question.

Salut le forum

Il suffit juste de faire une addition

 Range("B1") = Range("B1") + WorksheetFunction.CountIf(Range("A1:A3"), "Oiseau")

Pour le titre : Additionner selon critères [VBA]

Mytå

Super ! ça fonctionne ! Merci beaucoup, maintenant j'aimerais augmenter le niveau de difficulté.

Voici le contexte :

  • La première feuille se nomme "Choix"
  • La deuxième feuille se nomme "Animaux"
  • La troisième feuille se nomme "Résultats"
  • Sur la première feuille, on retrouve en A1, A2 et A3, trois mots aléatoires ("Amphibien", "Oiseau" ou "Reptile"). Il est important de savoir que l'un deux peut apparaître dans plus d'une cellule.
  • Sur la deuxième feuille, dans les cellules B1, B2 et B3 on retrouve "Amphibien", "Oiseau" et "Reptile"
  • Cette liste peut être modifiée. Je m'explique : On peut rajouté des mots tels que "Batracien" à celle-ci. On peut modifier certain mots tels que "Oiseau" pour le changer en "Oiseau et chat". Cette liste doit restée classée en ordre alphabétique (donc d'éventuels mots risques de se glisser entre "Oiseau" et "Reptile" par exemple, si on effectue des changements aux cours du temps.)

Je désire que sur la feuille nommée "Résultats", on y voit le nombre de fois que chacun des animaux ont été entré sur la feuille "Choix". Je désire avoir D1, D2 et D3 qui auront comme valeurs "Amphibien", "Oiseau" et "Reptile". Dans E1, E2 et E3, je désire voir combien de fois chacun d'eux ont été choisi (La liste d'animaux est supposée être la même que celle sur la page "Animaux"). Exemple :

Amphibien : 5

Oiseau : 4

Reptile : 2

Mais la difficulté réside vis à vis les éventuels changements qui peuvent affecter la liste d'animaux de la feuille "Animaux". Je veux

que le décompte de chacun d'eux (dans la feuille "Résultats") reste vis à vis le bon animal même si le mot "Batracien" est ajouté au cours du temps.

je ne sais pas si je suis assez clair, mais bon... Je suis embêter par ce problème...

Rechercher des sujets similaires à "additionner criteres vba"