OVH Cloud OVH Cloud

Macro LSteph

37 réponses
Avatar
Greg
Bonjour,

Après avoir changé la feuille séquence 1, la macro déclenchée par le bouton
"ajout séance" (que je voudrais rebaptisé en "ajout séquence) déclenchant un
formulaire ne fonctionne plus.

Quelqu'un ou mieux maître Steph pourrait-il me venir à la rescousse?

Référence: http://cjoint.com/?lzsmDeKwwa

Merci beaucoup d'avance... c'est la dernière pierre à cet édifice...


Greg

10 réponses

1 2 3 4
Avatar
lSteph
Bonjour,,

le thème étant le même. Dans notre jargon péda, on appelle plusie urs
"séquences" une "séance"... désolé...



Alors pourqoi dans rpréparation parlet on de séquence et que tu as
fait rajouter par quelqu'un d'autre une macro visant àcréer des
séances à l'intérieur d'uneséquence et des phases à l'intérieur d'une
séance.

S'il y a plusieurs séquences dans une séance pourquoi plusieurs
séances dans une séquence
C'est exactement le contraire, donc oui, un certain agacement, si en
plus tu en remets un niveau avec phase p^réparation et que l'objectif
se modifie au fur et à mesure de la diversité de la réflexion sur
celyui-ci , c'est pas gagné

Donc si je peux essayer de recadrer le truc slon ce qu'on avait avant
et ce que tu as ajouté
ou sinon tu le fais mais en conservant l'ordre issu des hierarchies
et dimensions que tu proposes:

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
composé de 3 feuilles Info ; Progression ; 1 Modèle de Séance
3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une Séance
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche Séance ajoutée à la suite des autres feuilles sur
la base du modèle séance 0
4 Séance feuille ..composée de plusieurs séquences
5 Séquence(s) blocs qui s'ajoutent dans une même feuille séance
6 Phase(s) lignes qui s'ajoutent dans un bloc séquence.

@+

--
lSteph

On 28 nov, 10:48, "Greg" wrote:
Merci Steph pour ta réponse.

Je comprends ton agacement. Ces maudits changements ont été occasionn és par
un mois d'utilisation de ta première proposition. Comme tout outil, c'e st en
l'utilisant que l'on se rend compte des évolutions à apporter. Je sui s donc
cobaye avec 2 autres collègues de ce document que nous avons mis à l' essai
durant un mois.D'un point de vue purement informatique, tout roulait. Mai s
du point de vue péda, ça nous pose quelques soucis... même si nous sommes
prêts du but.

> maintenant tu veux générer des fiches qui s'appellent toutes "----- -----"

En fait, nous utilisons parfois plusieurs séances dans une même pré paration,
le thème étant le même. Dans notre jargon péda, on appelle plusie urs
"séquences" une "séance"... désolé...
Je me suis donc dit, peut être à tort, qu'il était plus simple de m ettre une
liste déroulante en colonne B, avec au choix "séquence" ou "séance" et de
donner commen nom à la feuille le numéro figurant en colonne A. Pour
résoudre le problème et ne pas s'embêter, on peut tout simplement a ppeler
chaque séance ou séance en colonne B "prep 1", "prep 2"...etc

> > - Et enfin... la première séance n'occasionne pas systématiquem ent une
> > fiche.
> ..pour savoir si tu veux une fiche ou non tu as la case à cocher dans le
> formulaire, cela n'affecte pas l'incrémebntation qui peut continuer.

Je ne comprends donc pas comment il reconnait la feuille de préparation de
référence. Une feuille masquée??? Parce que dans ta proposition d'h ier, tout
fonctionne impeccable sauf qu'une fois que la preîère fiche est rempl ie, il
se réfère à celle-là pour créer la suivante au lieu de proposer une nouvelle
feuille entre guillemets vierge, reprenant le titre et l'objectif de cett e
séance.

>Pour modifier un contrôle clique sur l'equerre bleue dans la BO VB
>clic droit sur l'iobjet pour accèder à ses propriétés
>et reclique sur l'equerre qd c'est fini.

Comme je te le disais, je suis allé dans les propriétés de l'objet, en
passant par cette équerre. Mais habituellement, je peux changer un cert ain
nombre de propriétés, dont le contenu. Ici, je ne sais pas pourquoi, c'est
impossible.

Désolé encore..............;-(

Greg


Avatar
Greg
Oui, je comprends... je vais essayer de faire simple:

Alors pourqoi dans rpréparation parlet on de séquence et que tu as
fait rajouter par quelqu'un d'autre une macro visant àcréer des
séances à l'intérieur d'uneséquence et des phases à l'intérieur d'une
séance.



==> 1 objectif = 1 feuille mais il faut parfois plusieurs séances pour
atteindre cet objectif (1 sééance = 1 temps de classe avec un début et une
fin). A partir de 2 séances concourant au même objectif, on appelle cette
unité une séquence.

S'il y a plusieurs séquences dans une séance pourquoi plusieurs
séances dans une séquence



==> En quelques sorte, oui, il y a plusieurs séquences sauf qu'on les
appelle "étape" ou "phase" d'une séance

Un exemple concret (et loufoque) pour comprendre:
Une progression sur le taillage de haies:
OBJ 1: S'approprier le taille-haies
OBJ 2: Connaître les différentes haies, connifères et feuillus
OBJ 3: éléments de sécurité

etc...

Prenons l'objectif 1 (S'approprier le taille-haies) nécessiterait peut être
une séquence, plus qu'une séance qui serait surement insuffisante: disons 2
x 45 minutes

Séance1/2: présentation de l'outil et généralité(Séance 2/2: Le cas
particulier du taille-haies sans fil.

Prenons la Séance1/2. Elle pourrait se dérouler selon différentes phases:
- présenation
- tenue de l'engin,
- sécurité,
- entretien et affutage des lames

Bien sur, c'est une exemple idiot mais imagée, le déroulement classique
d'une séance en classe se voit succéder 4 phases:
- action
- formulation
- validation
- institutionnalisation du savoir................................. avec
différentes formes de groupement, un déroulement circonstancié... etc

Voilà. Ce n'est peut-etre pas très clair et c'est assez nouveau comme
manière de travailler chez les enseignats. Ce n'est pas évident, d'où la
nécessité d'un outil informatique pour les débutants, pour guider!

C'est exactement le contraire, donc oui, un certain agacement, si en
plus tu en remets un niveau avec phase p^réparation



Bah oui, désolé... l'enseignement dans le primaire, ça n'est évident que
pour ceux qui ne l'ont jamais fait...

et que l'objectif se modifie au fur et à mesure de la diversité de la
réflexion sur
celyui-ci , c'est pas gagné



L'objectif est fixé dans la progression et ne change plus par la suite.

Donc si je peux essayer de recadrer le truc slon ce qu'on avait avant


et ce que tu as ajouté
ou sinon tu le fais mais en conservant l'ordre issu des hierarchies
et dimensions que tu proposes:



1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de Séance
3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une Séance
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche Séance ajoutée à la suite des autres feuilles sur
la base du modèle séance 0



Pour éviter de s'embrouiller, il est plus simple de parler de préparation,
qui peut etre une séance ou une séquence. Ce qui donnerait avec les modifs
(je remplace en majuscules):

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de PREPARATION

3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une PREPARATION
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche PREPARATION ajoutée à la suite des autres feuilles sur
la base du modèle PREPARATION 0
4 PREPARATION feuille ..composée de plusieurs séquences

Composé ou non de plusieurs séances, chaque séance étant composé ou non de
plusieurs phases, d'où la macro.
==> une feuille= 1 séance ou 1 séquence (si plusieurs séances)

5 SEANCE(s) blocs qui s'ajoutent dans une même feuille PREPARATION
6 Phase(s) lignes qui s'ajoutent dans un bloc SEANCE.



Et ça, ça tient super bien la route!

Merci beaucoup pour cet investissement..... Je suis tout à fait conscient du
travail et de la capacité d'adaptation que ça représente .....

à+

Greg
Avatar
lSteph
Bonsoir Greg,

http://cjoint.com/?lCsda3FEqb


J'ai réparé et remis les bons boutons , donc utiliser ce classeur ,
ne pas essayer de recopier des bouts de greffons sur un autre!

Et pour le fonctionnement j'ai simplifié l'ajout de séance et de
phase par une copie du pavé
et cette formule pour la séance: =SOMMEPROD((GAUCHE($A$12:$A13;6)
="SEANCE")*1)

La copie de fiche se fait sur Preparation 0

Voici le code:

' dans progression

Private Sub CommandButton1_Click()
Call AjoutPreparation
End Sub


'dans preparation0


Private Sub CommandButton1_Click()
Call Ajout_Phase
End Sub

Private Sub CommandButton2_Click()
Call Ajout_Séance
End Sub


'dans Module1

Public AddFiche As Boolean, cRef As Range, lig As Long


Sub AjoutPreparation()
ActiveCell.Activate
' lig=première ligne que tu croises en partant d'en bas

lig = [b65536].End(xlUp).Row

Application.ScreenUpdating = False
With Range(Cells(lig, 2), Cells(lig, 5))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 5))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne


Set cRef = Feuil1.[b65536].End(xlUp)
frmPreparation.Show

If AddFiche Then
Feuil2.Copy after:=Sheets(Sheets.Count)

With Sheets(Sheets.Count)
.Name = cRef
.[a1] = Feuil1.[e4]
.[c2] = cRef
.[a5] = cRef.Offset(0, 1)
.[a10] = cRef.Offset(0, 2)
End With
End If
Set cRef = Nothing
End Sub



Sub Ajout_Phase()
ActiveCell.Activate
[a15:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub
Sub Ajout_Séance()
ActiveCell.Activate
[a13:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub

'dans FrmPreparation

Private Sub CommandButton1_Click()
Feuil1.Cells(lig + 1, 3) = TextBox1
Feuil1.Cells(lig + 1, 4) = TextBox2
AddFiche = CheckBox1 'si la case est cochée la variable
''''''''''''''''''''''ajout de fiche est vraie
Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
AddFiche = False
Me.Caption = "Renseignement de " & cRef
End Sub

'lSteph


On 28 nov, 14:21, "Greg" wrote:
Oui, je comprends... je vais essayer de faire simple:
....
Pour éviter de s'embrouiller, il est plus simple de parler de prépara tion,
qui peut etre une séance ou une séquence. Ce qui donnerait avec les m odifs
(je remplace en majuscules):

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier  nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de PREPARATION

3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une PREPARATION
(incrémentées)et génèrent selon que l'utilisateur a ou non coch é
l'option une fiche PREPARATION ajoutée à la suite des autres feuilles sur
la base du modèle PREPARATION  0
4 PREPARATION  feuille ..composée de plusieurs séquences

Composé ou non de plusieurs séances, chaque séance étant compos é ou non de
plusieurs phases, d'où la macro.
==> une feuille= 1 séance ou 1 séquence (si plusieurs séances )

> 5 SEANCE(s) blocs qui s'ajoutent dans une même feuille PREPARATION
>6 Phase(s) lignes qui s'ajoutent dans un bloc SEANCE.

Et ça, ça tient super bien la route!

Merci beaucoup pour cet investissement..... Je suis tout à fait conscie nt du
travail et de la capacité d'adaptation que ça représente .....

à+

Greg


Avatar
Greg
Merci Ô grand Steph!!! quel boulot encore une fois...

J'ai testé la feuille et tout semble bien fonctionner. Néanmoins, j'ai 2 ou
3 petits soucis par rapport à avant:

- la préparation 0, apparemment modèle, apparait sur la feuille progression
et dans les onglets. Je suis conscient de leur caractère référent mais Peut
être peut-on le cacher? J'ai essayé de masquer mais ça pose problème, pour
l'un comme pour l'autre.
- Il n'y a Plus de possibilité d'ajouter une phase dans une séance
précédente. Si j'ai écris ma séance 1 et ma séance 2 dans ma preparation 1,
et que je décide d'ajouter une phase à la séance 1, ça n'est plus possible.
D'où l'idée de l'ancien classeur: création d'un formulaire qui demandait: "à
quelle séance doit-on ajouter cette phase?" et la phase s'ajoutait en lieu
et place.

De plus, l'ajout d'une phase reprend systématiquement les titres de champ
(phase, groupement, déroulement...), ce qui encombre inutilement la prep. Je
comprends que pour des raisons que j'ignore il ait fallu modifier cette
feuille, mais le fonctionnement me convenait très bien dans l'ancien
classeur. Est-ce irrécupérable?

Sinon, tout marche et j'espère taper ma première progression Dimanche pour
essai!

à+



Greg



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

Bonsoir Greg,

http://cjoint.com/?lCsda3FEqb


J'ai réparé et remis les bons boutons , donc utiliser ce classeur ,
ne pas essayer de recopier des bouts de greffons sur un autre!

Et pour le fonctionnement j'ai simplifié l'ajout de séance et de
phase par une copie du pavé
et cette formule pour la séance: =SOMMEPROD((GAUCHE($A$12:$A13;6)
="SEANCE")*1)

La copie de fiche se fait sur Preparation 0

Voici le code:

' dans progression

Private Sub CommandButton1_Click()
Call AjoutPreparation
End Sub


'dans preparation0


Private Sub CommandButton1_Click()
Call Ajout_Phase
End Sub

Private Sub CommandButton2_Click()
Call Ajout_Séance
End Sub


'dans Module1

Public AddFiche As Boolean, cRef As Range, lig As Long


Sub AjoutPreparation()
ActiveCell.Activate
' lig=première ligne que tu croises en partant d'en bas

lig = [b65536].End(xlUp).Row

Application.ScreenUpdating = False
With Range(Cells(lig, 2), Cells(lig, 5))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 5))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne


Set cRef = Feuil1.[b65536].End(xlUp)
frmPreparation.Show

If AddFiche Then
Feuil2.Copy after:=Sheets(Sheets.Count)

With Sheets(Sheets.Count)
.Name = cRef
.[a1] = Feuil1.[e4]
.[c2] = cRef
.[a5] = cRef.Offset(0, 1)
.[a10] = cRef.Offset(0, 2)
End With
End If
Set cRef = Nothing
End Sub



Sub Ajout_Phase()
ActiveCell.Activate
[a15:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub
Sub Ajout_Séance()
ActiveCell.Activate
[a13:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub

'dans FrmPreparation

Private Sub CommandButton1_Click()
Feuil1.Cells(lig + 1, 3) = TextBox1
Feuil1.Cells(lig + 1, 4) = TextBox2
AddFiche = CheckBox1 'si la case est cochée la variable
''''''''''''''''''''''ajout de fiche est vraie
Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
AddFiche = False
Me.Caption = "Renseignement de " & cRef
End Sub

'lSteph


On 28 nov, 14:21, "Greg" wrote:
Oui, je comprends... je vais essayer de faire simple:
....
Pour éviter de s'embrouiller, il est plus simple de parler de préparation,
qui peut etre une séance ou une séquence. Ce qui donnerait avec les modifs
(je remplace en majuscules):

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de PREPARATION

3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une PREPARATION
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche PREPARATION ajoutée à la suite des autres feuilles sur
la base du modèle PREPARATION 0
4 PREPARATION feuille ..composée de plusieurs séquences

Composé ou non de plusieurs séances, chaque séance étant composé ou non de
plusieurs phases, d'où la macro.
==> une feuille= 1 séance ou 1 séquence (si plusieurs séances)

> 5 SEANCE(s) blocs qui s'ajoutent dans une même feuille PREPARATION
>6 Phase(s) lignes qui s'ajoutent dans un bloc SEANCE.

Et ça, ça tient super bien la route!

Merci beaucoup pour cet investissement..... Je suis tout à fait conscient
du
travail et de la capacité d'adaptation que ça représente .....

à+

Greg


Avatar
LSteph
Bonsoir

Se placer à la ligne ou on veut insérer une phase

en supposant que dans le code de module1 on ait ajouté ceci

Sub Phaseins()
[a15:I16].Copy
Rows(ActiveCell.Row).Cells(1).Insert
End Sub

et dans le code de preparation0 un bouton phaseins

Private Sub CommandButton4_Click()
Call Phaseins
End Sub

lSteph




Greg a écrit :
Merci Ô grand Steph!!! quel boulot encore une fois...

J'ai testé la feuille et tout semble bien fonctionner. Néanmoins, j'ai 2 ou
3 petits soucis par rapport à avant:

- la préparation 0, apparemment modèle, apparait sur la feuille progression
et dans les onglets. Je suis conscient de leur caractère référent mais Peut
être peut-on le cacher? J'ai essayé de masquer mais ça pose problème, pour
l'un comme pour l'autre.
- Il n'y a Plus de possibilité d'ajouter une phase dans une séance
précédente. Si j'ai écris ma séance 1 et ma séance 2 dans ma preparation 1,
et que je décide d'ajouter une phase à la séance 1, ça n'est plus possible.
D'où l'idée de l'ancien classeur: création d'un formulaire qui demandait: "à
quelle séance doit-on ajouter cette phase?" et la phase s'ajoutait en lieu
et place.

De plus, l'ajout d'une phase reprend systématiquement les titres de champ
(phase, groupement, déroulement...), ce qui encombre inutilement la prep. Je
comprends que pour des raisons que j'ignore il ait fallu modifier cette
feuille, mais le fonctionnement me convenait très bien dans l'ancien
classeur. Est-ce irrécupérable?

Sinon, tout marche et j'espère taper ma première progression Dimanche pour
essai!

à+



Greg



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

Bonsoir Greg,

http://cjoint.com/?lCsda3FEqb


J'ai réparé et remis les bons boutons , donc utiliser ce classeur ,
ne pas essayer de recopier des bouts de greffons sur un autre!

Et pour le fonctionnement j'ai simplifié l'ajout de séance et de
phase par une copie du pavé
et cette formule pour la séance: =SOMMEPROD((GAUCHE($A$12:$A13;6)
="SEANCE")*1)

La copie de fiche se fait sur Preparation 0

Voici le code:

' dans progression

Private Sub CommandButton1_Click()
Call AjoutPreparation
End Sub


'dans preparation0


Private Sub CommandButton1_Click()
Call Ajout_Phase
End Sub

Private Sub CommandButton2_Click()
Call Ajout_Séance
End Sub


'dans Module1

Public AddFiche As Boolean, cRef As Range, lig As Long


Sub AjoutPreparation()
ActiveCell.Activate
' lig=première ligne que tu croises en partant d'en bas

lig = [b65536].End(xlUp).Row

Application.ScreenUpdating = False
With Range(Cells(lig, 2), Cells(lig, 5))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 5))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne


Set cRef = Feuil1.[b65536].End(xlUp)
frmPreparation.Show

If AddFiche Then
Feuil2.Copy after:=Sheets(Sheets.Count)

With Sheets(Sheets.Count)
.Name = cRef
.[a1] = Feuil1.[e4]
.[c2] = cRef
.[a5] = cRef.Offset(0, 1)
.[a10] = cRef.Offset(0, 2)
End With
End If
Set cRef = Nothing
End Sub



Sub Ajout_Phase()
ActiveCell.Activate
[a15:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub
Sub Ajout_Séance()
ActiveCell.Activate
[a13:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub

'dans FrmPreparation

Private Sub CommandButton1_Click()
Feuil1.Cells(lig + 1, 3) = TextBox1
Feuil1.Cells(lig + 1, 4) = TextBox2
AddFiche = CheckBox1 'si la case est cochée la variable
''''''''''''''''''''''ajout de fiche est vraie
Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
AddFiche = False
Me.Caption = "Renseignement de " & cRef
End Sub

'lSteph


On 28 nov, 14:21, "Greg" wrote:
Oui, je comprends... je vais essayer de faire simple:
....
Pour éviter de s'embrouiller, il est plus simple de parler de préparation,
qui peut etre une séance ou une séquence. Ce qui donnerait avec les modifs
(je remplace en majuscules):

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de PREPARATION

3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une PREPARATION
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche PREPARATION ajoutée à la suite des autres feuilles sur
la base du modèle PREPARATION 0
4 PREPARATION feuille ..composée de plusieurs séquences

Composé ou non de plusieurs séances, chaque séance étant composé ou non de
plusieurs phases, d'où la macro.
==> une feuille= 1 séance ou 1 séquence (si plusieurs séances)

5 SEANCE(s) blocs qui s'ajoutent dans une même feuille PREPARATION
6 Phase(s) lignes qui s'ajoutent dans un bloc SEANCE.


Et ça, ça tient super bien la route!

Merci beaucoup pour cet investissement..... Je suis tout à fait conscient
du
travail et de la capacité d'adaptation que ça représente .....

à+

Greg






Avatar
LSteph
... j'avais squeezé ton dernier §

http://cjoint.com/?lDmkFSBjDw

-donc phase 1 ligne seulement et séance 1 bloc
- pouvoir ajouter une phase entre deux phases, soit à un endroit précis
m'a semblé plus utile que à la fin d'une séance
(ce qui obligerait tes ouailles à décaler et rectifier toutes les phases
consécutives)
donc plus besoin de demander un choix et obliger le prg à une recherche
dans les séances, c'est l'utilisateur qui décide:
le principe est de se positionner sur une ligne de phase
elle sera dupliquée à cet endroit.

Attention de ne pas supprimer ce qui est masqué.
Ah , j'ai aussi viré un pseudo objet word qui chez moi plantait!

Voili, voilou...

--
lSteph



le code de module 1 revu:

Option Explicit
Public AddFiche As Boolean, cRef As Range, lig As Long


Sub AjoutPreparation()
ActiveCell.Activate
' lig=première ligne que tu croises en partant d'en bas
Rows(9).Hidden = False
lig = [b65536].End(xlUp).Row

Application.ScreenUpdating = False
With Range(Cells(lig, 2), Cells(lig, 5))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 5))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne


Set cRef = Feuil1.[b65536].End(xlUp)
frmPreparation.Show

If AddFiche Then
Application.ScreenUpdating = False
Feuil2.Visible = xlSheetVisible
Feuil2.Copy after:=Sheets(Sheets.Count)
'
With Sheets(Sheets.Count)

.Name = cRef
.[a1] = Feuil1.[e4]
.[c2] = cRef
.[a5] = cRef.Offset(0, 1)
.[a10] = cRef.Offset(0, 2)
End With
End If
Feuil1.Rows(9).Hidden = True
Feuil2.Visible = xlSheetHidden
Set cRef = Nothing
End Sub


Sub Ajout_Séance()
ActiveCell.Activate
[a13:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub
Sub Phaseins()
[a15:I16].Copy
Rows(ActiveCell.Row).Copy
Rows(ActiveCell.Row).Cells(1).Insert
End Sub


Greg a écrit :
...
De plus, l'ajout d'une phase reprend systématiquement les titres de champ
(phase, groupement, déroulement...), ce qui encombre inutilement la prep. Je
comprends que pour des raisons que j'ignore il ait fallu modifier cette
feuille, mais le fonctionnement me convenait très bien dans l'ancien
classeur. Est-ce irrécupérable?

Sinon, tout marche et j'espère taper ma première progression Dimanche pour
essai!

à+



Greg



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

Bonsoir Greg,

http://cjoint.com/?lCsda3FEqb


J'ai réparé et remis les bons boutons , donc utiliser ce classeur ,
ne pas essayer de recopier des bouts de greffons sur un autre!

Et pour le fonctionnement j'ai simplifié l'ajout de séance et de
phase par une copie du pavé
et cette formule pour la séance: =SOMMEPROD((GAUCHE($A$12:$A13;6)
="SEANCE")*1)

La copie de fiche se fait sur Preparation 0

Voici le code:

' dans progression

Private Sub CommandButton1_Click()
Call AjoutPreparation
End Sub


'dans preparation0


Private Sub CommandButton1_Click()
Call Ajout_Phase
End Sub

Private Sub CommandButton2_Click()
Call Ajout_Séance
End Sub


'dans Module1

Public AddFiche As Boolean, cRef As Range, lig As Long


Sub AjoutPreparation()
ActiveCell.Activate
' lig=première ligne que tu croises en partant d'en bas

lig = [b65536].End(xlUp).Row

Application.ScreenUpdating = False
With Range(Cells(lig, 2), Cells(lig, 5))
.Copy Range(Cells(lig + 1, 2), Cells(lig + 1, 5))
End With

Cells(lig, 2).AutoFill _
Destination:=Range(Cells(lig, 2), Cells(lig + 1, 2)), _
Type:=xlFillDefault



Range(Cells(lig + 1, 3), Cells(lig + 1, 4)).ClearContents
'efface dans la dernière ligne de données la 3eme et 4eme colonne


Set cRef = Feuil1.[b65536].End(xlUp)
frmPreparation.Show

If AddFiche Then
Feuil2.Copy after:=Sheets(Sheets.Count)

With Sheets(Sheets.Count)
.Name = cRef
.[a1] = Feuil1.[e4]
.[c2] = cRef
.[a5] = cRef.Offset(0, 1)
.[a10] = cRef.Offset(0, 2)
End With
End If
Set cRef = Nothing
End Sub



Sub Ajout_Phase()
ActiveCell.Activate
[a15:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub
Sub Ajout_Séance()
ActiveCell.Activate
[a13:I16].Copy Destination:=[a65536].End(xlUp)(3)
End Sub

'dans FrmPreparation

Private Sub CommandButton1_Click()
Feuil1.Cells(lig + 1, 3) = TextBox1
Feuil1.Cells(lig + 1, 4) = TextBox2
AddFiche = CheckBox1 'si la case est cochée la variable
''''''''''''''''''''''ajout de fiche est vraie
Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
AddFiche = False
Me.Caption = "Renseignement de " & cRef
End Sub

'lSteph


On 28 nov, 14:21, "Greg" wrote:
Oui, je comprends... je vais essayer de faire simple:
....
Pour éviter de s'embrouiller, il est plus simple de parler de préparation,
qui peut etre une séance ou une séquence. Ce qui donnerait avec les modifs
(je remplace en majuscules):

1 Outils du Maître Dossier Répertoire principal
2 Discipline 1classeur dans le dossier nommé: Progression en..la
matière
de 3 feuilles Info ; Progression ; 1 Modèle de PREPARATION

3 Progression Feuille dans le Classeur de la progression concernée
composé de Lignes qui se créent en correspondance à une PREPARATION
(incrémentées)et génèrent selon que l'utilisateur a ou non coché
l'option une fiche PREPARATION ajoutée à la suite des autres feuilles sur
la base du modèle PREPARATION 0
4 PREPARATION feuille ..composée de plusieurs séquences

Composé ou non de plusieurs séances, chaque séance étant composé ou non de
plusieurs phases, d'où la macro.
==> une feuille= 1 séance ou 1 séquence (si plusieurs séances)

5 SEANCE(s) blocs qui s'ajoutent dans une même feuille PREPARATION
6 Phase(s) lignes qui s'ajoutent dans un bloc SEANCE.


Et ça, ça tient super bien la route!

Merci beaucoup pour cet investissement..... Je suis tout à fait conscient
du
travail et de la capacité d'adaptation que ça représente .....

à+

Greg






Avatar
Greg
Salut Steph et désolé de te harceler mais je me demandais si tu avais pris
connaissance de mon dernier message concernant le classeur "progression". Si
ce n'est pas le cas, je te mets plus bas le copié-collé. Si tu es arrivé au
bout de ce sujet, je comprendrais parfaitement et je te remercie pour ton
investissement. J'aurais alors le choix entre trouver quelqu'un qui soit
capable de me faire les derniers réglages (c'est pas gagné mais bon...) ou
entreprendre une formation personnelle entre 2h00 et 6h00 du matin ;-)). Je
te pose la question très directement, ce qui m'évitera de regarder ma boîte
20 fois par jour en priant d'avoir une réponse et de clore ce classeur dont
l'intérêt n'a d'égal que le temps qu'on y a consacré, et l'envie énorme de
le voir aboutir.

Merci encore pour ce projet qui ne serait pas allé jusque là sans toi.

Greg

NB: COPIE COLLE DU DERNIER MESSAGE du 28/11 s'il n'est pas passé:

Merci Ô grand Steph!!! quel boulot encore une fois...

J'ai testé la feuille et tout semble bien fonctionner. Néanmoins, j'ai 2 ou
3 petits soucis par rapport à avant:

- la préparation 0, apparemment modèle, apparait sur la feuille progression
et dans les onglets. Je suis conscient de leur caractère référent mais Peut
être peut-on le cacher? J'ai essayé de masquer mais ça pose problème, pour
l'un comme pour l'autre.
- Il n'y a Plus de possibilité d'ajouter une phase dans une séance
précédente. Si j'ai écris ma séance 1 et ma séance 2 dans ma preparation 1,
et que je décide d'ajouter une phase à la séance 1, ça n'est plus possible.
D'où l'idée de l'ancien classeur: création d'un formulaire qui demandait: "à
quelle séance doit-on ajouter cette phase?" et la phase s'ajoutait en lieu
et place.

De plus, l'ajout d'une phase reprend systématiquement les titres de champ
(phase, groupement, déroulement...), ce qui encombre inutilement la prep. Je
comprends que pour des raisons que j'ignore il ait fallu modifier cette
feuille, mais le fonctionnement me convenait très bien dans l'ancien
classeur. Est-ce irrécupérable?

Sinon, tout marche et j'espère taper ma première progression Dimanche pour
essai!

à+



Greg
Avatar
LSteph
Bonjour,

Bonjour,


as-tu déjà entendu parler de google?
Tu verras cela ici:
http://groups.google.fr/group/microsoft.public.fr.excel/browse_thread/thread/df61006994078cbb/06e1e078953724a8?hl=fr&lnk=gst&q=greg*#06e1e078953724a8
as-tu déjà lu les dizaines de réponses qu t'ont été faites qd tu disais
ne pas voir tes messahes.
Peut-être que non finalement, si tu ne les voyais pas.

Bon je remets cela qui est là depuis Samedi
suite à ton dernier message:

http://cjoint.com/?lDmkFSBjDw

Il y a donc deux messages de ma part entre ces deux tiens avec celui-ci
ça fait trois.Et prends soin de lire celui d'avant.
Donc fais le ménage dans outlook express ou prends Thunderbird .
Tu verras ceci: http://cjoint.com/?mbuWQIcJFm

;-)

--
lSteph

Greg a écrit :
Salut Steph et désolé de te harceler mais je me demandais si tu avais pris
connaissance de mon dernier message concernant le classeur "progression". Si
ce n'est pas le cas, je te mets plus bas le copié-collé. Si tu es arrivé au
bout de ce sujet, je comprendrais parfaitement et je te remercie pour ton
investissement. J'aurais alors le choix entre trouver quelqu'un qui soit
capable de me faire les derniers réglages (c'est pas gagné mais bon...) ou
entreprendre une formation personnelle entre 2h00 et 6h00 du matin ;-)). Je
te pose la question très directement, ce qui m'évitera de regarder ma boîte
20 fois par jour en priant d'avoir une réponse et de clore ce classeur dont
l'intérêt n'a d'égal que le temps qu'on y a consacré, et l'envie énorme de
le voir aboutir.

Merci encore pour ce projet qui ne serait pas allé jusque là sans toi.

Greg

NB: COPIE COLLE DU DERNIER MESSAGE du 28/11 s'il n'est pas passé:

Merci Ô grand Steph!!! quel boulot encore une fois...

J'ai testé la feuille et tout semble bien fonctionner. Néanmoins, j'ai 2 ou
3 petits soucis par rapport à avant:

- la préparation 0, apparemment modèle, apparait sur la feuille progression
et dans les onglets. Je suis conscient de leur caractère référent mais Peut
être peut-on le cacher? J'ai essayé de masquer mais ça pose problème, pour
l'un comme pour l'autre.
- Il n'y a Plus de possibilité d'ajouter une phase dans une séance
précédente. Si j'ai écris ma séance 1 et ma séance 2 dans ma preparation 1,
et que je décide d'ajouter une phase à la séance 1, ça n'est plus possible.
D'où l'idée de l'ancien classeur: création d'un formulaire qui demandait: "à
quelle séance doit-on ajouter cette phase?" et la phase s'ajoutait en lieu
et place.

De plus, l'ajout d'une phase reprend systématiquement les titres de champ
(phase, groupement, déroulement...), ce qui encombre inutilement la prep. Je
comprends que pour des raisons que j'ignore il ait fallu modifier cette
feuille, mais le fonctionnement me convenait très bien dans l'ancien
classeur. Est-ce irrécupérable?

Sinon, tout marche et j'espère taper ma première progression Dimanche pour
essai!

à+



Greg




Avatar
Greg
Bonjour à tous, et Re pour Steph!

Je ne sais pas si les autres voient les messages de Steph depuis le
28/10. En ce qui me concerne, non! Que ce soit OE ou Thunderbird, je
suis passé à travers sans explication aucune...

Bref, revenons au sujet du post.

>- pouvoir ajouter une phase entre deux phases, soit à un endroit précis
>m'a semblé plus utile que à la fin d'une séance
>ce qui obligerait tes ouailles à décaler et rectifier toutes les phases
>consécutives) donc plus besoin de demander un choix et obliger le prg
>à une >recherche dans les séances, c'est l'utilisateur qui décide:
>le principe est de se positionner sur une ligne de phase
>elle sera dupliquée à cet endroit.

J'adore quand tu anticipes comme ça! Je me serais retrouvé avec la
galère et encore la honte de quémander... bien joué! L'ajout de phase
est bien plus intelligent ainsi. Seul petit bémol, c'est que la ligne de
phase qui s'ajoute n'est pas vierge (disons avec les listes déroulantes
replacées sur "---------" et le reste des cellules vides telles qu'elles
le sont lors de la création de la feuille, sur la première ligne de
phase. Euh... je ne sais pas si je suis très clair... Disons que l'idéal
serait que cette ligne de phase ne reprenne pas celle du dessus en
copié-collé car elle oblige une sélection et annulation de chaque
cellule. D'ailleurs, c'est la même démarche lors de la création d'une
séance, puisque la première phase du bloc s'inspire du bloc précédent.
C'est un détail mais quand on est si proche de la perfection, autant
être jusqueboutiste.

Pour le reste, j'ai essayé le classeur, comme ça vite fait, et c'est le
pied! Dès demain, je rédige une progression pour essai.

J'aimerais trouver une façon différente de te remercier qu'en le disant
car ton travail dépasse toujours mes attentes et j'ai le sentiment de ne
rien apporter en retour... J'avoue que ça me gène beaucoup. Je crois
bien que c'est la première fois de mon existence que je suis dans cette
situation; d'habitude, je suis dans l'autre camp.

Greg
Avatar
LSteph
Bonsoir,

déjà rassuré que tu ais retrouvé le fil!
On va voir pour poser "-----" dans les cellules requises et rien dans
les autres

Sinon il faudrait plus de 65536 lignes si tous ceux qui contribuent
sur ce forum devaient se mettre à faire une addition, alors on va
oublier cela!


je reviens...

@+

--
lSteph

Greg a écrit :
Bonjour à tous, et Re pour Steph!

Je ne sais pas si les autres voient les messages de Steph depuis le
28/10. En ce qui me concerne, non! Que ce soit OE ou Thunderbird, je
suis passé à travers sans explication aucune...

Bref, revenons au sujet du post.

>- pouvoir ajouter une phase entre deux phases, soit à un endroit précis
>m'a semblé plus utile que à la fin d'une séance
>ce qui obligerait tes ouailles à décaler et rectifier toutes les phases
>consécutives) donc plus besoin de demander un choix et obliger le prg
>à une >recherche dans les séances, c'est l'utilisateur qui décide:
>le principe est de se positionner sur une ligne de phase
>elle sera dupliquée à cet endroit.

J'adore quand tu anticipes comme ça! Je me serais retrouvé avec la
galère et encore la honte de quémander... bien joué! L'ajout de phase
est bien plus intelligent ainsi. Seul petit bémol, c'est que la ligne de
phase qui s'ajoute n'est pas vierge (disons avec les listes déroulantes
replacées sur "---------" et le reste des cellules vides telles qu'elles
le sont lors de la création de la feuille, sur la première ligne de
phase. Euh... je ne sais pas si je suis très clair... Disons que l'idéal
serait que cette ligne de phase ne reprenne pas celle du dessus en
copié-collé car elle oblige une sélection et annulation de chaque
cellule. D'ailleurs, c'est la même démarche lors de la création d'une
séance, puisque la première phase du bloc s'inspire du bloc précédent.
C'est un détail mais quand on est si proche de la perfection, autant
être jusqueboutiste.

Pour le reste, j'ai essayé le classeur, comme ça vite fait, et c'est le
pied! Dès demain, je rédige une progression pour essai.

J'aimerais trouver une façon différente de te remercier qu'en le disant
car ton travail dépasse toujours mes attentes et j'ai le sentiment de ne
rien apporter en retour... J'avoue que ça me gène beaucoup. Je crois
bien que c'est la première fois de mon existence que je suis dans cette
situation; d'habitude, je suis dans l'autre camp.

Greg



1 2 3 4