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

nombre de classes

7 réponses
Avatar
Marc T
Bonjour,
j'ai r=E9cup=E9r=E9 cette macro qui permet de cr=E9er des onglets selon un n=
=B0
de classe:
Sub extrait()
Application.DisplayAlerts =3D False
If ActiveCell.Column >=3D 1 And ActiveCell.Column <=3D 8 _
And ActiveCell.Row > 1 And ActiveCell <> "" Then
nomOnglet =3D CStr(ActiveCell)
titreCritere =3D Cells(1, ActiveCell.Column)
Critere =3D ActiveCell
On Error Resume Next
Sheets(nomOnglet).Delete
On Error GoTo 0
Sheets.Add after:=3DSheets(Sheets.Count)
ActiveSheet.Name =3D nomOnglet
[D1] =3D titreCritere
[D2] =3D Critere
Sheets("bd").[b1:J1000].AdvancedFilter Action:=3DxlFilterCopy, _
criteriarange:=3D[D1:D2], CopyToRange:=3DSheets(nomOnglet).[A3]
Cells.Select
Selection.Columns.AutoFit
Range("D1:D2").Select
Selection.Font.Bold =3D True
With Selection.Font
.Name =3D "Comic Sans MS"
.Size =3D 12
.Strikethrough =3D False
.Superscript =3D False
.Subscript =3D False
.OutlineFont =3D False
.Shadow =3D False
.Underline =3D xlUnderlineStyleNone
.ColorIndex =3D xlAutomatic
End With
With Selection
.HorizontalAlignment =3D xlCenter
.VerticalAlignment =3D xlBottom
.WrapText =3D False
.Orientation =3D 0
.AddIndent =3D False
.IndentLevel =3D 0
.ShrinkToFit =3D False
.ReadingOrder =3D xlContext
.MergeCells =3D False
End With
With Selection
Columns("G:G").Select
Selection.EntireColumn.Hidden =3D True
Range("A1").Select
End With
End If
End Sub


je voudrai aujourd'hui rajouter une 6em classe et je n'arrive pas du
tout =E0 trouver comment faire !!!!
merci d'avance
MarcT
merci de votre aide

7 réponses

Avatar
francois.forcet
Salut à toi

Ce code sauf erreur de ma part supprime et recrée un seul onglet avec
pour nom la valeur de la cellule active qui doit se trouver de la
colonne 1 à 8 et à partir de la ligne 2
Il suffit d'éxécuter 2 fois ce code en déplaçant la cellule active
ayant des valeurs différentes pour traiter 2 onglets
Pour une 6° classe il suffit d'utiliser une cellule à partir de la
ligne 2 colonne 1 à 8 qui porte le nom de cette classe

Celà devrait faire

Si malgré tout tu as des souci envois nous ton document par
l'intermédiaire de ce site :

http://www.cijoint.fr/index.php

Communiques nous le lien afin qu'on l'étudie

Dis nous !!!!
Avatar
Marc T
On 23 mai, 14:23, wrote:
Salut à toi

Ce code sauf erreur de ma part supprime et recrée un seul onglet avec
pour nom la valeur de la cellule active qui doit se trouver de la
colonne 1 à 8 et à partir de la ligne 2
Il suffit d'éxécuter 2 fois ce code en déplaçant la cellule active
ayant des valeurs différentes pour traiter 2 onglets
Pour une 6° classe il suffit d'utiliser une cellule à partir de la
ligne 2 colonne 1 à 8 qui porte le nom de cette classe

Celà devrait faire

Si malgré tout tu as des souci envois nous ton document par
l'intermédiaire de ce site :

http://www.cijoint.fr/index.php

Communiques nous le lien afin qu'on l'étudie

Dis nous !!!!


Bonjour et merci de ton aide,
voici le lien
http://www.cijoint.fr/cjlink.php?file=cj200805/cijdcIjXoM.xls
en y regardant de plus prêt après tes explications je vois qu'il y a
une 2em macro mais je n'ai pas mieux compris
merci encore
MarcT

Avatar
francois.forcet
Rebonjours à toi

Aprés analyse de ton document la macro "extrait" comme son nom
l'indique fait un extrait de ton onglet "BD" en fonction d'un
paramètre indiqué par la valeur de ta cellule active positionnée de
colonne A à H à partir de la ligne 2

Par exemple colonne B correspondant aux classes cellule B2
correspondant à la classe 1 le code créera l'onglet 1 qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
B correspondent à 1 (la classe 1)
Idem pour B3 correspondant à 2 (classe 2) création d'un onglet 2 qui
représentera l'ensemble des données de l'onglet"BD" dont les cellules
de la colonne B correspondent à 2 (la classe 2)

Idem pour la colonne C correspondant aux Noms cellule C2 correspondant
à l'élève "pier" le code créera l'onglet "pier" qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pier (élève "pier")
Idem pour la colonne C correspondant aux Noms cellule C3 correspondant
à l'élève "pol" le code créera l'onglet "pol" qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pol (élève "pol")

Et ainsi de suite pour toutes les colonnes sauf pour la colonne A qui
elle quelque soit sa cellule crée un Onglet au nom de la cellule
active mais reprenant l'ensemble des données de l'onglet "BD"

En résumé si l'on souhaite un extrait de l'onglet "BD" choisir dans la
colonne correspondante (colonne "Classe" si l'on souhaite un extrait
d'une classe, colonne "Noms" si l'on souhaite un extrait d'un nom
etc...) la cellule qui porte le critére de choix
Le code créera un Onglet au nom du critère qui représentera un extrait
des données pour toutes les cellules de la colonne répondant au
critère

Pour créer une classe supplémentaire il suffit de continuer la saisie
des données pour les cellules qui doivent être saisies (n'ayant pas de
formule) et dans la colonne H "Classe n°" mettre un nouveau numéro
Rapporter par un copier coller de la ligne précédente les formules
pour les cellules qui en possèdent
Puis sélectionner en colonne H une cellule de ces lignes
supplémentaires portant le nouveau numéro de classe
Le code à l'éxécution rapportera dans un nouvel onglet au nom de cette
classe toutes ces nouvelles lignes saisies

Espérant avoir été assez claire dans mes explications

J'ai regardé les 2 autres macros :

La macro "mask" masque la colonne G
La macro "repartir" sélectionne différente cellule de la colonne H et
fait appel à une autre macro "rentrée 2007-2008.xls'!extrait" macro
"extrait" d'un document appelé "rentrée 2007-2008.xls"
Ne l'ayant pas je ne peux en cerner sa finalité

Sur ce lien ton document modifié colonne H les 3 dernières lignes
J'ai mis la classe 6
Sélectionnes une de ces 3 cellules dans cette colonne et exécute la
macro "extrait"
Un onglet "6" sera créé avec l'ensemble des données de ces 3 lignes


http://www.cijoint.fr/cjlink.php?file=cj200805/cijPSrkkHL.xls

Fais des essais et dis moi !!!!!
Avatar
Marc T
On 23 mai, 16:41, wrote:
Rebonjours à toi

Aprés analyse de ton document la macro "extrait" comme son nom
l'indique fait un extrait de ton onglet "BD" en fonction d'un
paramètre indiqué par la valeur de ta cellule active positionnée de
colonne A à H à partir de la ligne 2

Par exemple colonne B correspondant aux classes cellule B2
correspondant à la classe 1 le code créera l'onglet 1 qui représente ra
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
B correspondent à 1 (la classe 1)
Idem pour B3 correspondant à 2 (classe 2) création d'un onglet 2 qui
représentera l'ensemble des données de l'onglet"BD" dont les cellules
de la colonne B correspondent à 2 (la classe 2)

Idem pour la colonne C correspondant aux Noms cellule C2 correspondant
à l'élève "pier" le code créera l'onglet "pier" qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pier (élève "pier")
Idem pour la colonne C correspondant aux Noms cellule C3 correspondant
à l'élève "pol" le code créera l'onglet "pol" qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pol (élève "pol")

Et ainsi de suite pour toutes les colonnes sauf pour la colonne A qui
elle quelque soit sa cellule crée un Onglet au nom de la cellule
active mais reprenant l'ensemble des données de l'onglet "BD"

En résumé si l'on souhaite un extrait de l'onglet "BD" choisir dans la
colonne correspondante (colonne "Classe" si l'on souhaite un extrait
d'une classe, colonne "Noms" si l'on souhaite un extrait d'un nom
etc...) la cellule qui porte le critére de choix
Le code créera un Onglet au nom du critère qui représentera un extra it
des données pour toutes les cellules de la colonne répondant au
critère

Pour créer une classe supplémentaire il suffit de continuer la saisie
des données pour les cellules qui doivent être saisies (n'ayant pas de
formule) et dans la colonne H "Classe n°" mettre un nouveau numéro
Rapporter par un copier coller de la ligne précédente les formules
pour les cellules qui en possèdent
Puis sélectionner en colonne H une cellule de ces lignes
supplémentaires portant le nouveau numéro de classe
Le code à l'éxécution rapportera dans un nouvel onglet au nom de cet te
classe toutes ces nouvelles lignes saisies

Espérant avoir été assez claire dans mes explications

J'ai regardé les 2 autres macros :

La macro "mask" masque la colonne G
La macro "repartir" sélectionne différente cellule de la colonne H et
fait appel à une autre macro "rentrée 2007-2008.xls'!extrait" macro
"extrait" d'un document appelé "rentrée 2007-2008.xls"
Ne l'ayant pas je ne peux en cerner sa finalité

Sur ce lien ton document modifié colonne H les 3 dernières lignes
J'ai mis la classe 6
Sélectionnes une de ces 3 cellules dans cette colonne et exécute la
macro "extrait"
Un onglet "6" sera créé avec l'ensemble des données de ces 3 lignes

http://www.cijoint.fr/cjlink.php?file=cj200805/cijPSrkkHL.xls

Fais des essais et dis moi !!!!!


Rebonjour,
merci beaucoup,
je teste et essaie de comprendre en espérant être un peu moins bête
soir !!!
@ Bientôt
MarcT

Avatar
Marc T
On 23 mai, 16:44, Marc T wrote:
On 23 mai, 16:41, wrote:



Rebonjours à toi

Aprés analyse de ton document la macro "extrait" comme son nom
l'indique fait un extrait de ton onglet "BD" en fonction d'un
paramètre indiqué par la valeur de ta cellule active positionnée d e
colonne A à H à partir de la ligne 2

Par exemple colonne B correspondant aux classes cellule B2
correspondant à la classe 1 le code créera l'onglet 1 qui représen tera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
B correspondent à 1 (la classe 1)
Idem pour B3 correspondant à 2 (classe 2) création d'un onglet 2 qui
représentera l'ensemble des données de l'onglet"BD" dont les cellule s
de la colonne B correspondent à 2 (la classe 2)

Idem pour la colonne C correspondant aux Noms cellule C2 correspondant
à l'élève "pier" le code créera l'onglet "pier" qui représente ra
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pier (élève "pier")
Idem pour la colonne C correspondant aux Noms cellule C3 correspondant
à l'élève "pol" le code créera l'onglet "pol" qui représentera
l'ensemble des données de l'onglet"BD" dont les cellules de la colonne
C correspondent à "pol (élève "pol")

Et ainsi de suite pour toutes les colonnes sauf pour la colonne A qui
elle quelque soit sa cellule crée un Onglet au nom de la cellule
active mais reprenant l'ensemble des données de l'onglet "BD"

En résumé si l'on souhaite un extrait de l'onglet "BD" choisir dans la
colonne correspondante (colonne "Classe" si l'on souhaite un extrait
d'une classe, colonne "Noms" si l'on souhaite un extrait d'un nom
etc...) la cellule qui porte le critére de choix
Le code créera un Onglet au nom du critère qui représentera un ext rait
des données pour toutes les cellules de la colonne répondant au
critère

Pour créer une classe supplémentaire il suffit de continuer la saisi e
des données pour les cellules qui doivent être saisies (n'ayant pas de
formule) et dans la colonne H "Classe n°" mettre un nouveau numéro
Rapporter par un copier coller de la ligne précédente les formules
pour les cellules qui en possèdent
Puis sélectionner en colonne H une cellule de ces lignes
supplémentaires portant le nouveau numéro de classe
Le code à l'éxécution rapportera dans un nouvel onglet au nom de c ette
classe toutes ces nouvelles lignes saisies

Espérant avoir été assez claire dans mes explications

J'ai regardé les 2 autres macros :

La macro "mask" masque la colonne G
La macro "repartir" sélectionne différente cellule de la colonne H e t
fait appel à une autre macro "rentrée 2007-2008.xls'!extrait" macro
"extrait" d'un document appelé "rentrée 2007-2008.xls"
Ne l'ayant pas je ne peux en cerner sa finalité

Sur ce lien ton document modifié colonne H les 3 dernières lignes
J'ai mis la classe 6
Sélectionnes une de ces 3 cellules dans cette colonne et exécute la
macro "extrait"
Un onglet "6" sera créé avec l'ensemble des données de ces 3 ligne s

http://www.cijoint.fr/cjlink.php?file=cj200805/cijPSrkkHL.xls

Fais des essais et dis moi !!!!!


Rebonjour,
merci beaucoup,
je teste et essaie de comprendre en espérant être un peu moins bête
soir !!!
@ Bientôt
Marc


Bonjour,
merci de tes explications qui m'ont aidé à comprendre.
en fait la macro "extrait" est celle que j'avais collé dans mon 1er
post.
et la macro "répartir" la lance. j'aimerai pouvoir modifié mais ne
trouve pas la solution.
Je voudrais:
pouvoir créer autant de n° de classe que je veux et que la macro qui
créée l'onglet ne dépende pas de cette macro "repartir" et surtout
d'adresse en dur car cela peut changer sans cesse !!
et puis si j'ose, je suis amené à changer tt les ans le nom de
fichier, donc comment faire pour ne pas de voir le récrire dans la
macro ???
J'espère avoir été clair et remercie d'avance toute les bonnes âmes
qui voudraient bien m'éclairer.
@+
Marc


Avatar
francois.forcet
Rebonjours Marc
Tu n'es pas du tout obligé d'utiliser la macro "répartir" pour créer
tes classes
Tu sélectionnes colonne H une cellule qui possède le numéro de la
classe que tu souhaites traiter et d'activer la macro "extrait"
Pour traiter une nouvelle classe (n°6 par exemple) tu continues en bas
de l'onglet "BD" ta saisie dans les cellules qui n'ont pas de formulle
(voir les lignes déjà saisies) et colonne H tu mets le chiffre 6
Par un copier/coller des cellules de la ligne précédente tu ramènes
les formules dans les même cellules de la ligne de saisie pour celles
qui en ont
Tu sélectionnes la cellule colonne H qui possède le chiffre 6 et tu
actives la macro "extrait"

Si tu souhaites traiter plusieurs classes je te propose ce code qui te
permettra de le réaliser de manière automatique
Il suffira avant tout de déterminer les classes à traiter en colorant
en vert colonne H une cellule par classe (celles qui correspondent an
numéro approprié) :

Sheets("BD").Activate
For Each c In Worksheets("BD").Range("H2", "H" &
Range("H65535").End(xlUp).Row)
If c.Interior.ColorIndex = 4 Then
c.Activate
Run ("extrait")
End If
Sheets("BD").Activate
Next

Les Macro "extrait" et "Classes" ne font pas appel à une adresse ni à
un nom de fichier
Tu peux déplacer à loisir ton document ou le renommer sans altérer
leur fonctionnement
Seul le nom de l'onglet "BD" doit être concervé

Sur ce lien ton document avec la macro "Classes" avec ce code
J'ai coloré quelques cellule colonne H en vert

Fais des essais et dis moi !!!!

http://www.cijoint.fr/cjlink.php?file=cj200805/cijueCA2wq.xls.
Avatar
Marc T
On 25 mai, 20:27, wrote:
Rebonjours Marc
Tu n'es pas du tout obligé d'utiliser la macro "répartir" pour créer
tes classes
Tu sélectionnes colonne H une cellule qui possède le numéro de la
classe que tu souhaites traiter et d'activer la macro "extrait"
Pour traiter une nouvelle classe (n°6 par exemple) tu continues en bas
de l'onglet "BD" ta saisie dans les cellules qui n'ont pas de formulle
(voir les lignes déjà saisies) et colonne H tu mets le chiffre 6
Par un copier/coller des cellules de la ligne précédente tu ramènes
les formules dans les même cellules de la ligne de saisie pour celles
qui en ont
Tu sélectionnes la cellule colonne H qui possède le chiffre 6 et tu
actives la macro "extrait"

Si tu souhaites traiter plusieurs classes je te propose ce code qui te
permettra de le réaliser de manière automatique
Il suffira avant tout de déterminer les classes à traiter en colorant
en vert colonne H une cellule par classe (celles qui correspondent an
numéro approprié) :

Sheets("BD").Activate
For Each c In Worksheets("BD").Range("H2", "H" &
Range("H65535").End(xlUp).Row)
If c.Interior.ColorIndex = 4 Then
c.Activate
Run ("extrait")
End If
Sheets("BD").Activate
Next

Les Macro "extrait" et "Classes" ne font pas appel à une adresse ni à
un nom de fichier
Tu peux déplacer à loisir ton document ou le renommer sans altérer
leur fonctionnement
Seul le nom de l'onglet "BD" doit être concervé

Sur ce lien ton document avec la macro "Classes" avec ce code
J'ai coloré quelques cellule colonne H en vert

Fais des essais et dis moi !!!!

http://www.cijoint.fr/cjlink.php?file=cj200805/cijueCA2wq.xls.


Bonjour François,
merci pour tes explications qui m'ont permis de comprendre et de faire
fonctionner ce fichier
@+
Marc