Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche dans plusieurs feuilles

2 réponses
Avatar
Jacky
Bonjour à tous

Je cherche à créer une feuille qui contiendrait , en colonne 'A' le nom des
personnes contenues dans plusieurs autres feuilles est le nombre de fois
qu'elles y figurent en colonne 'B'
Sachant que dans chaque feuilles le même nom peut apparaître plusieurs fois
et que le nombre de feuille peut aller jusqu'a 54

exemple
A B
Nom Nombre de présence

Martin Jules. XXX fois
Gaston Emile YYY fois
-----
Etc

Bonne soirée
JJ

2 réponses

Avatar
michdenis
Bonjour Jacky,

Tu ajoutes une feuille nommé "LesNoms" dans la colonne "A"
Tu renseignes dans la procédure la plage de cellules où sont inscrits les noms

'-------------------------------
Sub CompterLesNoms()

Dim LeNom As String
Dim Sh As Worksheet, C As Range
Dim Compte As Long

For Each C In Worksheets("LesNoms").Range("A1") 'à définir
LeNom = C
For Each Sh In Worksheets
If Sh.Name <> "LesNoms" Then
Compte = Compte + Application.CountIf( _
Sh.UsedRange, "=" & LeNom)
End If
Next Sh
B = B + 1
Worksheets("LesNoms").Range("B" & B) = Compte
Compte = 0
Next

End Sub
'-------------------------------


Salutations!




"Jacky" a écrit dans le message de news:
Bonjour à tous

Je cherche à créer une feuille qui contiendrait , en colonne 'A' le nom des
personnes contenues dans plusieurs autres feuilles est le nombre de fois
qu'elles y figurent en colonne 'B'
Sachant que dans chaque feuilles le même nom peut apparaître plusieurs fois
et que le nombre de feuille peut aller jusqu'a 54

exemple
A B
Nom Nombre de présence

Martin Jules. XXX fois
Gaston Emile YYY fois
-----
Etc

Bonne soirée
JJ
Avatar
Jacky
Bonsoir Denis

Merci d'avoir prêté attention à ma demande

Je me suis sens doute mal exprimé.
Avec ton code, la colonne B se remplie de chiffre incorrecte, rien dans la
colonne A
J'ai adapté ton code de cette manière pour trouver automatiquement les
feuilles en question.
'----------------------
For i = 1 To Worksheets.Count
If Left(Sheets(i).Name, 4) = Left(Year(Now), 4) Then
nf = Sheets(i).Name
For Each C In Worksheets(nf).Range("c5:t14") 'à redéfinir, car sur 2 plages)
LeNom = C
x = x + 1
Worksheets("LesNoms").Range("A" & x) = C
For Each Sh In Worksheets
If Sh.Name <> nf Then
Compte = Compte + Application.CountIf(Sh.UsedRange, "=" & LeNom)
End If
Next Sh
B = B + 1
Worksheets("LesNoms").Range("B" & B) = Compte
Compte = 0
Next
End If
Next i
'----------------

Mais cela ne fonctionne pas correctement. Si les noms sont trouvés, le
passage au nom suivant se produit sans avoir le nombre de fois que ce mon
est présent, puis passe au nom suivant et revient sur le précedent pour
l'incrémenté, mais sur une autre ligne.

De Plus, J'avais oublié de mentionner que dans chaque feuille les cellules
de nom sont sur 2 plages C5:T14 et C18:O27 et que certaines cellules peuvent
être vide et ne doivent pas être comptabilisées.
Les feuilles ont pour nom '2004 semaine1' , '2004 semaine 2', etc...
L'essai que j'ai fait avec ton code était sur une plage, mais n'a pas
aboutit.

Ce que je souhaite c'est de récupérer de toutes ces feuilles les noms (sans
doublons) inscrit dans ces plages en colonne A et le nombre de fois que ce
noms est présent dans les feuilles en colonne B sur une autre feuille
(quelconque)

salutations et dodo
JJ


"michdenis" a écrit dans le message de
news:%
Bonjour Jacky,

Tu ajoutes une feuille nommé "LesNoms" dans la colonne "A"
Tu renseignes dans la procédure la plage de cellules où sont inscrits les
noms


'-------------------------------
Sub CompterLesNoms()

Dim LeNom As String
Dim Sh As Worksheet, C As Range
Dim Compte As Long

For Each C In Worksheets("LesNoms").Range("A1") 'à définir
LeNom = C
For Each Sh In Worksheets
If Sh.Name <> "LesNoms" Then
Compte = Compte + Application.CountIf( _
Sh.UsedRange, "=" & LeNom)
End If
Next Sh
B = B + 1
Worksheets("LesNoms").Range("B" & B) = Compte
Compte = 0
Next

End Sub
'-------------------------------


Salutations!




"Jacky" a écrit dans le message de
news:

Bonjour à tous

Je cherche à créer une feuille qui contiendrait , en colonne 'A' le nom
des

personnes contenues dans plusieurs autres feuilles est le nombre de fois
qu'elles y figurent en colonne 'B'
Sachant que dans chaque feuilles le même nom peut apparaître plusieurs
fois

et que le nombre de feuille peut aller jusqu'a 54

exemple
A B
Nom Nombre de présence

Martin Jules. XXX fois
Gaston Emile YYY fois
-----
Etc

Bonne soirée
JJ