Calcul après filtre puis coller

Résolu/Fermé
etienneja - 29 août 2014 à 14:29
 etienneja - 30 août 2014 à 08:55
Bonjour,

J'ai beau chercher, je ne trouve pas du tout.

Voici mon exemple:
J'ai un tableau de données de plusieurs colonnes dont une colonne de "médecin" ou d'"infirmier".
Je filtre et selectionne "médecin".

Je voudrais que le nombre total de "médecin" se reporte immédiatement dans une cellule prédéfinie dans une autre feuille2.

Merci pour votre aide, je bloque !
Bonne journée.

Etienne
A voir également:

3 réponses

bonjour,
tu peut crée une macro avec le code suivant :

i = 1
nombre = 0
While Cells(i, 1) <> ""
If Cells(i, 1) = "médecin" Then nombre = nombre + 1
i = i + 1
Wend
Sheets("feuil2").Range("A1") = nombre

puis tu fais un bouton qui appelle cette macro.
Par contre aux deux endroits ou tu as cells(i, 1) tu remplaces le 1 par le numéro de la colonne et la où il y a feuil2 tu met le nom de la feuille ou tu met le nombre médecin et la ou il y a A1 c'est la cellule ou tu met le nombre de médecin
1
Tiens, en fait:
Et si j'ai deux colonnes à filtrer (2 conditions) avant de calculer ? Ca complique, non ?
0
par contre, quand je mets plusieurs macro à la suite avec recherche de noms différents et cellule différente, ca me colle le chiffre 0 dans toutes les cellules sélectionnées....

je n'arrive pas à savoir pourquoi... (Désolé, je suis encore débutant !)
0
bonjour,
si j'ai bien compris tu veux conter le nombre de medecin dans 2 colonnes differentes et mettre le resultat dans une cellule ?
si c'est cela voici le code :


i = 1
nombre = 0
While Cells(i, 1) <> "" or Cells(i, 2) <> ""
If Cells(i, 1) = "médecin" or Cells(i, 2) = "médecin" Then nombre = nombre + 1
i = i + 1
Wend
Sheets("feuil2").Range("A1") = nombre

en remplacent tout comme la premiere fois et en plus dans Cells(i, 2) tu remplace le 2 par la deuxieme colonne

si ce n'est pas cela que tu voulais, pourrais tu réexpliquer ?
1
Merci pour cette explication. Interessant pour une prochaine fois.
Mais dans cet exemple, je souhaite compter le nombre de médecins de la colonne A si et seulement si le mot "Urgence" se trouve sur la meme ligne dans la colonne B.

En gros, je veux différencier les medecins d'un service à un autre.

Je pensais à un truc comme ca mais ca marche pas:

i = 1
nombre = 0
While Cells(i, 7) <> ""
If Cells(i, 7) = "Médecin" And If Cells(i, 9) = "Urgence" Then nombre = nombre + 1
i = i + 1
Wend
Sheets("SITEFF").Range("L25") = nombre
0
ha ok j'ai compris !!!
dans ce cas tu y es presque mais il faut mettre le if qu'une fois comme ca :

i = 1
nombre = 0
While Cells(i, 7) <> ""
If Cells(i, 7) = "Médecin" And Cells(i, 9) = "Urgence" Then nombre = nombre + 1
i = i + 1
Wend
Sheets("SITEFF").Range("L25") = nombre
0
Parfait, j'ai trouvé.

Il suffit de faire ce que tu proposes et remplacer par And au lieu de or.
Et ne pas mettre "If" après "And". :)

Merci beaucoup !!
0
si tu as autant de de cellules remplis dans les deux colonnes, tu n'as pas besoins du and ni de ce qu'il y a apres dans le while
en gros :
While Cells(i, 7) <> "" and Cells(i, 2) <> ""
c'est inutile tu met juste
While Cells(i, 7) <> ""
0
Nikel. Ca fonctionne parfaitement.
Plus qu'à faire pareil pour tous les autres fonctions et service... pfiou ! :)

Merci beaucoup !
0
Bonjour Quent,

Merci beaucoup pour ta réactivité.
Je viens de tester et c'est exactement cela !

Merci !
Bonne journée.

Etienne

EDIT: Si on répète plusieurs fois la macro avec des données différentes, ca marque 0 partout.... Pourquoi ?!
0