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

recapitulatif et extractin de donnees

29 réponses
Avatar
Magic-DD
bonjour

j'ai dans une feuille avec le resultat de plusieurs saisie de fiches
d'inscription depuis un userform

dans ces inscriptions j'ai la possibilite de mettre 5 activites differentes
( sportives ou culturelles)

comment faire un recapitulatif des inscrits par types d'activite

je vous donne un exemple dans le fichier suivant

http://cjoint.com/?keutQ7Fboo

merci

9 réponses

1 2 3
Avatar
LSteph
Tu as dû louper ma réponse...


http://cjoint.com/?khqIJHx4id

--
lSteph

au secours


je n'ai plus du tout comme tout a l'heure

ou est passe le bouton de mise à jour
en plus je n'avais pas de liste nomme prix

est il possible de me remettre un fichier car je suis paumé

merci d'avance
"Jacky" a écrit dans le message de
news:
Re...
J'ai trouvé pourquoi et voilà comment :
Chapeau bas ;o)))

Je suis sur que tu ne pouvais pas "Allez en paix" comme dirait Mgr
Abile avant d'avoir trouvé.

Entre temps, Magic à modifié la plage de recherche; :o(((((

--
Salutations
JJ


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

Pour Sport surtout ne prendre qu'un bout de colonne
Sinon

Bingo! On est bête!
J'ai trouvé pourquoi et voilà comment :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Long, j As Long
If Sh.CodeName <> "Feuil1" Then
Application.ScreenUpdating = False
[a2:b65536].ClearContents

With Range("Sport")
For j = 1 To .Areas.Count
With .Areas(j)
For i = 1 To .Count
If UCase(.Cells(i)) = UCase(Sh.[B1]) Then
Sh.[a65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 1)
Sh.[b65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 2)
End If
Next
End With
Next
End With
End If
End Sub

'lSteph
Re...
Le seul truc qui m'embête c'est que:
faudrait troquer ce mod 2 pour le choix des colonnes, on ne sait
jamais
si magicdd insérait ou bougeait une colonne.


Perso, je modifierais la structure des colonnes Sport1...sport5...
en donnant le nom des sports directement Karaté....Velo....
Cela faciliterait les futurs recherches et les actuelles.
Mais bon ,c'est magic qui voit....;o)

[Sport] prend tout [B2:L50]
Oui, oui, j'ai aussi testé comme ca, mais cela ne m'explique pas

pourquoi....

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Ne tient pas compte des plages discontinues (colonne C,E,G,I,K=
[sport]) tandis qu'avec
Private Sub Worksheet_Activate()
Cela fonctionne.

As-tu une idée ??













Avatar
LSteph
;-) Salut Jacky

..heu...soudain il m'apparaît que tu n'as très probablement pas vu mon
autre proposition... ou pas completement.(celle dont je parlais de
cette nuit)
d'où le fameux
ou est passe le bouton de mise à jour





L'activate qu'il soit dans la feuille ou classeur oblige à activer
chaque feuille une par une..
Si après on imprime ou fait une liaison...
D'autre part le nombre de sports peut évoluer.

Aussi en lançant une macro ajoutant les feuilles le tour est joué
mon pb était cette disposition de colonne,le Mod sur les colonnes ne
convenait pas vraiment, j'ai remplacé par

LCase(Left(Feuil1.Cells(1, d.Column), 4)) = "spor"

:o))
Maintenant, il ne me restera qu'à prévoir quelquechose si c'est la ligne
de titre qui change de place.

@+

--
lSteph

Re...
ou est passe le bouton de mise à jour
Ben, c'est que écrit comme cela, tu n'en a pas besoin...

As-tu testé ???





Avatar
Magic-DD
WAOUH !!!!!!!!!!

cela depasse completemen mon niveau

je suis le fil avec minutie

bravo encore

"LSteph" a écrit dans le message de
news:%
;-) Salut Jacky

..heu...soudain il m'apparaît que tu n'as très probablement pas vu mon
autre proposition... ou pas completement.(celle dont je parlais de cette
nuit)
d'où le fameux
ou est passe le bouton de mise à jour





L'activate qu'il soit dans la feuille ou classeur oblige à activer chaque
feuille une par une..
Si après on imprime ou fait une liaison...
D'autre part le nombre de sports peut évoluer.

Aussi en lançant une macro ajoutant les feuilles le tour est joué
mon pb était cette disposition de colonne,le Mod sur les colonnes ne
convenait pas vraiment, j'ai remplacé par

LCase(Left(Feuil1.Cells(1, d.Column), 4)) = "spor"

:o))
Maintenant, il ne me restera qu'à prévoir quelquechose si c'est la ligne
de titre qui change de place.

@+

--
lSteph

Re...
ou est passe le bouton de mise à jour
Ben, c'est que écrit comme cela, tu n'en a pas besoin...

As-tu testé ???







Avatar
LSteph
:( Bon!Ok! JackDD ou Magic-ky

...vous trouverez au moins 3 fois dans ce fil le lien vers MagicSport2.xls

http://cjoint.com/?khqIJHx4id

cela depasse completement mon niveau
mais Non!


--
lSteph


WAOUH !!!!!!!!!!

cela depasse completemen mon niveau

je suis le fil avec minutie

bravo encore

"LSteph" a écrit dans le message de
news:%
;-) Salut Jacky

..heu...soudain il m'apparaît que tu n'as très probablement pas vu
mon autre proposition... ou pas completement.(celle dont je parlais
de cette nuit)
d'où le fameux
ou est passe le bouton de mise à jour





L'activate qu'il soit dans la feuille ou classeur oblige à activer
chaque feuille une par une..
Si après on imprime ou fait une liaison...
D'autre part le nombre de sports peut évoluer.

Aussi en lançant une macro ajoutant les feuilles le tour est joué
mon pb était cette disposition de colonne,le Mod sur les colonnes ne
convenait pas vraiment, j'ai remplacé par

LCase(Left(Feuil1.Cells(1, d.Column), 4)) = "spor"

:o))
Maintenant, il ne me restera qu'à prévoir quelquechose si c'est la
ligne de titre qui change de place.

@+

--
lSteph

Re...
ou est passe le bouton de mise à jour
Ben, c'est que écrit comme cela, tu n'en a pas besoin...

As-tu testé ???










Avatar
Jacky
Re...
..heu...soudain il m'apparaît que tu n'as très probablement pas vu mon
autre proposition...
Elle vient seulement d'apparaître (ah! oe), à première vue tu construis les

feuilles, je vais voir plus à fond ce soir, mais sans nul doute, cela doit
être la bonne solution.

--
Salutations
JJ


"LSteph" a écrit dans le message de news:
%
;-) Salut Jacky

..heu...soudain il m'apparaît que tu n'as très probablement pas vu mon
autre proposition... ou pas completement.(celle dont je parlais de cette
nuit)
d'où le fameux
ou est passe le bouton de mise à jour





L'activate qu'il soit dans la feuille ou classeur oblige à activer chaque
feuille une par une..
Si après on imprime ou fait une liaison...
D'autre part le nombre de sports peut évoluer.

Aussi en lançant une macro ajoutant les feuilles le tour est joué
mon pb était cette disposition de colonne,le Mod sur les colonnes ne
convenait pas vraiment, j'ai remplacé par

LCase(Left(Feuil1.Cells(1, d.Column), 4)) = "spor"

:o))
Maintenant, il ne me restera qu'à prévoir quelquechose si c'est la ligne
de titre qui change de place.

@+

--
lSteph

Re...
ou est passe le bouton de mise à jour
Ben, c'est que écrit comme cela, tu n'en a pas besoin...

As-tu testé ???







Avatar
Magic-DD
salut les gars

j'ai passé toute l'apres midi a essayer de l'adapter à mon projet

ca merdouille

donc le mieux je le met sur cjoint

comme ca vous pourez critiquer mon code (la critique est toujours
constructive)

donc merci de m'aider et si le besoin s'en fait ressentir, de simplifier mon
projet vba

http://cjoint.com/?kitXxOGnBh

@ bientot sur le fil


"LSteph" a écrit dans le message de
news:
....voili, voilà

http://cjoint.com/?khqIJHx4id

Sub MajRapports()

Dim i As Long, Sh As Worksheet, d As Range, myst As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each Sh In ActiveWorkbook.Sheets
'on peut en exclure d'autres
If Sh.CodeName <> "Feuil1" Then Sh.Delete
Next Sh
Application.DisplayAlerts = True
For Each d In [Sport].Cells
myst = ""


' c'est bien ici que cela se joue

If LCase(Left(Feuil1.Cells(1, d.Column), 4)) = "spor" _
And Not IsEmpty(d) Then
On Error Resume Next
myst = Worksheets(UCase(d)).Name
On Error GoTo 0

If Len(myst) = 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = UCase(d)
.[a1] = "Recapitulatif"
.[B1] = d
.[a1:b1].Interior.ColorIndex = 44
End With
End If
End If
Next d

For Each Sh In ActiveWorkbook.Sheets
If Sh.CodeName <> "Feuil1" Then
With [Sport]
For i = 1 To .Count
If UCase(.Cells(i)) = UCase(Sh.[B1]) Then
Sh.[a65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 1)
Sh.[b65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 2)
End If
Next i
End With
End If
Next Sh

End Sub

'lSteph

Pour Sport surtout ne prendre qu'un bout de colonne
Sinon

Bingo! On est bête!
J'ai trouvé pourquoi et voilà comment :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Long, j As Long
If Sh.CodeName <> "Feuil1" Then
Application.ScreenUpdating = False
[a2:b65536].ClearContents

With Range("Sport")
For j = 1 To .Areas.Count
With .Areas(j)
For i = 1 To .Count
If UCase(.Cells(i)) = UCase(Sh.[B1]) Then
Sh.[a65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 1)
Sh.[b65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 2)
End If
Next
End With
Next
End With
End If
End Sub

'lSteph
Re...
Le seul truc qui m'embête c'est que:
faudrait troquer ce mod 2 pour le choix des colonnes, on ne sait
jamais
si magicdd insérait ou bougeait une colonne.


Perso, je modifierais la structure des colonnes Sport1...sport5... en
donnant le nom des sports directement Karaté....Velo....
Cela faciliterait les futurs recherches et les actuelles.
Mais bon ,c'est magic qui voit....;o)

[Sport] prend tout [B2:L50]
Oui, oui, j'ai aussi testé comme ca, mais cela ne m'explique pas

pourquoi....

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Ne tient pas compte des plages discontinues (colonne C,E,G,I,K= [sport])
tandis qu'avec
Private Sub Worksheet_Activate()
Cela fonctionne.

As-tu une idée ??








Avatar
dOUdOU
Bonjour tout le monde,

Je suis un peu en retard, mais si vous êtes toujours intéressé voici un
solution sans VBA, uniquement avec des formules. :
http://cjoint.com/?knmnfkYnXS

Cordialement,
dOudOU


Alors on va reprendre,

la base pricipale est alimentee par un userform

dans l'exemple je n'ai pas mis le formulaire mais juste le resultat, soi la
base principale.

dans differents onglets representant les activites (sport1, 2....5)
j'aimerai rappatrier les noms des participants en fonction de leur activité.

voici donc le fichier excel modifié.

http://cjoint.com/?kgpmj0WNqd


merci encore
"dOUdOU" a écrit dans le message de
news:
Bonjour,

Tu n'avais pas parlé d'onglet, ni de base principale, est-ce que la base
prinicipale est alimentée par les différents onglets ?

Peux-tu joindre un classeur avec un exemple qui se rapproche le plus
possible de ce que tu désires.

Cdlt


MERCI

cela n'est pas tout à fait ce que je souhaite mais on s'en approche

en fait chaque onglet correspondra à une activité et reprendra depuis la
base principale les éléments necessaires

on aura donc ans l'onglet foot, tous les gens faisant du foot

etc ...


"dOUdOU" a écrit dans le message de
news:
Bonjour,

peux-tu regarder si cela te convient dans le fichier
http://cjoint.com/?kgng0mavr6


bonjour

j'ai dans une feuille avec le resultat de plusieurs saisie de fiches
d'inscription depuis un userform

dans ces inscriptions j'ai la possibilite de mettre 5 activites
differentes
( sportives ou culturelles)

comment faire un recapitulatif des inscrits par types d'activite

je vous donne un exemple dans le fichier suivant

http://cjoint.com/?keutQ7Fboo

merci















Avatar
dOUdOU
Re-bounjour,

Voici une alternative avec filtre élaboré, mais toujours sans VBA /
http://cjoint.com/?knnnzUvN7F

Cordialement,
dOUdOU


alors la chapeau Lsteph et jacky sans oublier DouDou

moi je dis y'a des betes et des bebetes

et la j'ai des super bete d'excel

merci encore

@u plaisir

"LSteph" a écrit dans le message de
news:%23%23$
Bonsoir,

Attention toutes les autres feuilles seront détruites et recréées

http://cjoint.com/?khbKsUFcQK

ceci suppose que l'on utilise Feuil1 comme .Codename de la feuille dont
le nom d'onglet Name est "BDD" , comme dans ton exemple.

Sub MajRapports()

Dim i As Long, sh As Worksheet, c As Range, myst As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each sh In ActiveWorkbook.Sheets
'on peut en exclure d'autres
If sh.CodeName <> "Feuil1" Then sh.Delete
Next sh
Application.DisplayAlerts = True
For Each c In [Sport].Cells
myst = ""
If c.Column Mod 2 > 0 And Not IsEmpty(c) Then
On Error Resume Next
myst = Worksheets(UCase(c)).Name
On Error GoTo 0

If Len(myst) = 0 Then
Sheets.Add after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = UCase(c)
.[a1] = "Recapitulatif"
.[B1] = c
.[a1:b1].Interior.ColorIndex = 44
End With
End If
End If
Next c

For Each sh In ActiveWorkbook.Sheets
If sh.CodeName <> "Feuil1" Then
With [Sport]
For i = 1 To .Count
If UCase(.Cells(i)) = UCase(sh.[B1]) Then
sh.[a65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 1)
sh.[b65536].End(3)(2) = Feuil1.Cells(.Cells(i).Row, 2)
End If
Next i
End With
End If
Next sh

End Sub

'lSteph


bonjour

j'ai dans une feuille avec le resultat de plusieurs saisie de fiches
d'inscription depuis un userform

dans ces inscriptions j'ai la possibilite de mettre 5 activites
differentes
( sportives ou culturelles)

comment faire un recapitulatif des inscrits par types d'activite

je vous donne un exemple dans le fichier suivant

http://cjoint.com/?keutQ7Fboo

merci








Avatar
Magic-DD
salut

tres bonne info aussi, je vais la tenter sur mes feuilles

merci

@ ++
"dOUdOU" a écrit dans le message de
news:
Bonjour tout le monde,

Je suis un peu en retard, mais si vous êtes toujours intéressé voici un
solution sans VBA, uniquement avec des formules. :
http://cjoint.com/?knmnfkYnXS

Cordialement,
dOudOU


Alors on va reprendre,

la base pricipale est alimentee par un userform

dans l'exemple je n'ai pas mis le formulaire mais juste le resultat, soi
la
base principale.

dans differents onglets representant les activites (sport1, 2....5)
j'aimerai rappatrier les noms des participants en fonction de leur
activité.

voici donc le fichier excel modifié.

http://cjoint.com/?kgpmj0WNqd


merci encore
"dOUdOU" a écrit dans le message de
news:
Bonjour,

Tu n'avais pas parlé d'onglet, ni de base principale, est-ce que la
base
prinicipale est alimentée par les différents onglets ?

Peux-tu joindre un classeur avec un exemple qui se rapproche le plus
possible de ce que tu désires.

Cdlt


MERCI

cela n'est pas tout à fait ce que je souhaite mais on s'en approche

en fait chaque onglet correspondra à une activité et reprendra depuis
la
base principale les éléments necessaires

on aura donc ans l'onglet foot, tous les gens faisant du foot

etc ...


"dOUdOU" a écrit dans le message de
news:
Bonjour,

peux-tu regarder si cela te convient dans le fichier
http://cjoint.com/?kgng0mavr6


bonjour

j'ai dans une feuille avec le resultat de plusieurs saisie de
fiches
d'inscription depuis un userform

dans ces inscriptions j'ai la possibilite de mettre 5 activites
differentes
( sportives ou culturelles)

comment faire un recapitulatif des inscrits par types d'activite

je vous donne un exemple dans le fichier suivant

http://cjoint.com/?keutQ7Fboo

merci

















1 2 3