macro nb.si ?

RVL

XLDnaute Occasionnel
Bonjour à tous,

Dans le fichier joint, j'aimerai avoir la possibilité de faire le comptage des personnes en feuil1, mais uniquement de celles qui n'appartiennent pas à une liste en feuil3 (colonne A).

Et afficher ce résultat dans une cellule de la feuil1 (K43), un genre de nb.si mais avec une macro je pense.
Dans le fichier joint Il y a déjà des macros qui fonctionnent à merveille (et ce avec un super coup de main du forum) mais je n’arrive pas à modifier l’une d’entre elles pour réaliser ce comptage.

Si quelqu’un peut me venir en aide,

PS: mdp = toto

Merci par avance.
 

Pièces jointes

  • Exemple2.xls
    46 KB · Affichages: 77
  • Exemple2.xls
    46 KB · Affichages: 92
  • Exemple2.xls
    46 KB · Affichages: 78

RVL

XLDnaute Occasionnel
Re : macro nb.si ?

Bonjour le forum,

Hier pierrejean a répondu à ma demande pour réaliser une macro du type "NB.Si", SUPER.

Ca fonctionne très bien avec le fichier "simplifié" mis en exemple.

Le problème c'est que ne n'arrive pas à adapter cette macro à mon fichier perso.

Comment faire pour réaliser cette macro non pas sur une seule plage en feuil1("A1:J41"), mais sur un nombre assez important de de plages +/- grande ("C1:J17,C20:J20,K18:L27, - - - - - - - ").

comment transformer:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 11 And Target.Row < 41 Then
'MsgBox ("oui")
Call nombre_si
End If
End Sub

C'est certainement simple mais j'ai "qqls" difficultés.

Encore un grand merci à pierrejean pour sa réponse.
 

pierrejean

XLDnaute Barbatruc
Re : macro nb.si ?

Re

Modifier les macros comme ceci

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set zone = Range("C1:J17,C20:J20,K18:L27")
Set isect = Intersect(Target, zone)
If Not isect Is Nothing Then
Call nombre_si
End If
End Sub
 
Public zone As Range
 
Sub nombre_si()
For Each cel In zone
For Each cell In Sheets("Feuil3").Range("A2:A" & Sheets("Feuil3").Range("A65536").End(xlUp).Row)
If cel.Value = cell.Value Then
trouve = True
Exit For
End If
Next
If trouve Then
trouve = False
Else
nb = nb + 1
End If
Next
Sheets("Feuil1").Range("K43") = nb
End Sub
 

eutrophisation

XLDnaute Occasionnel
Re : macro nb.si ?

Bonjour Mr Pierre Jean
Je profite de ta presence pour stp me mixer mes codes. Tout fonctionné bien sauf que en ajoutant un code qui permet d'agrandir la hauteur de la ligne et celle de la police que tout s'est arrêté de marcher.
Veux tu bien m'arranger ce mixage avec l'espoir de te retrouver ta réponse.
Salutations sportives
 

Pièces jointes

  • Classeur2.zip
    22.4 KB · Affichages: 43
  • Classeur2.zip
    22.4 KB · Affichages: 43
  • Classeur2.zip
    22.4 KB · Affichages: 46

RVL

XLDnaute Occasionnel
Re : macro nb.si ?

Re,

Encore un GRAND Merci à vous pierrejean,

J'adapte votre code à mon fichier (en cours actuellement),

Quelques difficultés mais je persiste ...

Remarque: j’obtiens une valeur en "K43" équivalente au complément du résultat souhaité ?

En espérant ne pas revenir.


Bonne soirée
 

RVL

XLDnaute Occasionnel
Re : macro nb.si ?

Bonjour le forum,

Désolé je reviens vers vous avec mon pb de comptage avec une macro.
La solution de PierreJean que remercie encore, fonctionne "super" mais l'ennuis c'est que la liste en feuil3 colonne A comporte plus de 150 personnes (sur mon fichier original) et donc cette macro est trés longue.

Y aurait il un autre moyen de réaliser ce comptage ?

Merci d'avance
 

Discussions similaires

Réponses
20
Affichages
545
Réponses
18
Affichages
637
Réponses
31
Affichages
1 K

Statistiques des forums

Discussions
312 496
Messages
2 088 978
Membres
103 996
dernier inscrit
KB4175