• Initiateur de la discussion Initiateur de la discussion RVL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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.
 
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
 
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

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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
10
Affichages
660
Réponses
9
Affichages
746
Compte Supprimé 979
C
Retour