Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

ATHE RIOVELI

XLDnaute Occasionnel
Salut à tous,
Je reviens encore auprès de vous les amis afin d'avoir une solution à ce problème qui me hante depuis quelques mois.
Je suis étudiant. J'ai fait un tableau excel qui permette aux enseignants de gérer le calcul des moyennes de leurs élèves. Mon problème actuellement, je souhaite qu'a chaque fois le professeur entre le nom d'un élève et tape Entrer, il puisse avoir insertion automatique d'une nouvelle ligne. C'est ce que fait ACCESS.
s'il vous plait les amis, j'ai grand besoin de votre aide.
[SUP][/SUP]
 

Pièces jointes

  • MGT.xlsx
    39.8 KB · Affichages: 78

job75

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Bonjour ATHE RIOVELI, le forum,

post #28 : j'avais mis un doublon "dupont" au "2èm Trim", c'est normal qu'il ne soit pas effacé, il ne faut pas laisser de doublon !

post #29 : pourquoi testez-vous le fichier (5) ? Utilisez le fichier (6).

post #30 : il ne faut surtout pas trier automatiquement les tableaux des trimestres.

Supposez que le tableau aille jusqu'à la ligne 100.

Vous entrez "aaa" en B101 : un tri automatique ferait brusquement remonter la ligne 101 en ligne 13, agaçant non ?

Si après avoir entré un nom vous voulez trier le tableau, le nom étant sélectionné, utilisez la commande de tri AZ de l'onglet DONNÉES.

Pour en terminer avec les MFC, si vous voulez que les 2 doublons soient colorés, voyez ce fichier (1 bis).

Bonne journée.
 

Pièces jointes

  • CALCUL MOY avec MFC(1 bis).xlsm
    77.1 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Re,

Je viens de me rendre compte que les solutions précédentes ne permettaient pas l'insertion de lignes.

Alors utilisez les nouveaux fichiers joints, j'ai modifié ici :

Code:
If Not Intersect(Target, br(1, 2).EntireColumn) Is Nothing Then
  Application.ScreenUpdating = False
  memsel = Selection.Address
  memtarget = Target.Address
  Application.Undo 'annule la modification
  memlist = ListObjects(1).DataBodyRange.Columns(1).Resize(, 2) 'au moins 2 éléments
  Application.Undo 'rétablit la modification
  Range(memsel).Select
  Set Target = Range(memtarget)
  Application.ScreenUpdating = True
et aussi là avec .Clear au lieu de .ClearFormats :

Code:
[MOYENNES1].EntireRow(0).Clear 'efface la ligne précédente
Edit 1 : j'ai aussi modifié les formules en A12 de toutes les feuilles :

Code:
=SI(LIGNES(A$11:A11)=1;0;SI(B12="";"";DECALER(A12;-1;)+1))
Edit 2 : et aussi la formule de la MFC du fichier MFC(2).

A+
 

Pièces jointes

  • CALCUL MOY(7).xlsm
    77.9 KB · Affichages: 52
  • CALCUL MOY(7).xlsm
    77.9 KB · Affichages: 52
  • CALCUL MOY avec MFC(2 bis).xlsm
    78 KB · Affichages: 44
  • CALCUL MOY avec MFC(2).xlsm
    78 KB · Affichages: 44
Dernière édition:

job75

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Re,

Pour finir, avec ce code on peut Copier/Insérer dans le tableau plusieurs lignes d'un coup :

Code:
'---
        With w.ListObjects(1).DataBodyRange
          If r <> "" And IsError(Application.Match(r, .Columns(2), 0)) Then
            w.ListObjects(1).Resize .Offset(-1).Resize(.Rows.Count + 2) 'redimensionne
            .Cells(.Rows.Count + 1, 2) = r 'entrée de la valeur
          End If
        End With
J'ai inséré 100 lignes avec des noms sans doublon, durée d'exécution 11,6 secondes sur Win 8 - Excel 2013.

Edit : formule plus simple en A12 :

Code:
=SI(B12="";"";LIGNE()-LIGNE(A$12))
Fichier (8).

A+
 

Pièces jointes

  • CALCUL MOY(8).xlsm
    78.2 KB · Affichages: 71
  • CALCUL MOY(8).xlsm
    78.2 KB · Affichages: 65
Dernière édition:

ATHE RIOVELI

XLDnaute Occasionnel
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut jobs.
Il y deux soucis
1) Au niveau de la feuille BILAN, il y a tri automatique de A à Z qui s'effectue.
Ce que moi je souhaite, c'est que les noms qu'on entre sur trim 1 doivent seulement etre récopier exactement dans les autres (sans aucune modification). dans ce cas, il faut éliminer le tri au niveau des autres feuille (s'il doit avoir de tri, cela doit se faire au niveau de trim1 puisque les autres feuilles recoivent les noms de trim1. Pourquoi je souhaite cela? Parceque dans la suite, il faudra vérouiller la colonne A de trim1 où se trouve les numeros afin l'utilisation ne puisse selectionner les cellules. Au niveau de trim 2, trim3 et bilan, on vérouille les colonnes des numeros et des noms pour éviter que l'utilisateur ne touche ses colonnes.
2) regarde job75, au niveau de trim1, je viens de supprimer le 4e nom. Le rusultat:
-La ligne et la couleur sont automatiquement supprimer dans les autres (c'est très génial). est ce qu'on ne peut pas en faire de meme au niveau de trim1? (fichier2)
Alors je résume: PAS DE TRI AUTOMATIQUE AU NIVEAU DES FEUILLE (surtout pas au niveau de trim2, trim3 et BILAN)
 

Pièces jointes

  • CALCUL MOY(7).xlsm
    74.3 KB · Affichages: 46
  • CALCUL MOY(7).xlsm
    74.3 KB · Affichages: 47

ATHE RIOVELI

XLDnaute Occasionnel
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut job75.
Le fichier MOY(8) est génial.
il reste une seule chose et cette chose est vraimant essentielle pour la suite.
Je viens d'effacer le dernier nom et l'avant dernier au niveau de trim1. Ce qui se passe automatique au niveau des autres feuilles est extraordinaire: les lignes disparaissent également est la ligne des moyenne revient vers le haut.
Stp, je souhaite que cela se passe également au niveau de trim1.
INFINIMENT MERCI.
 

Pièces jointes

  • CALCUL MOY(8).xlsm
    74 KB · Affichages: 42
  • CALCUL MOY(8).xlsm
    74 KB · Affichages: 41

ATHE RIOVELI

XLDnaute Occasionnel
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut jobs75.
C'est génial MFC (2) bis mais un problème lorsqu'un entre les nom au trim1, les noms au niveaux des autres ne suivent pas la meme logique. par exemple dupont au trim2 reste toujour et parfoi change meme de position
 

job75

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Re,

Comme je l'ai déjà dit supprimer automatiquement les lignes des noms effacés ne présente guère d'intérêt puisqu'on peut supprimer la ligne manuellement au lieu d'effacer le nom.

Et si l'on a entré des notes elles seront perdues.

Mais enfin puisque vous y tenez :

Code:
'---suppression des lignes des noms effacés---
On Error Resume Next
br.Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Bien sûr j'ai simplifié la formule en A12..

Fichier (9).

Maintenant nous en somme au 37ème post, on a assez tripoté le fichier, moi j'arrête là.

Bonne nuit.
 

Pièces jointes

  • CALCUL MOY(9).xlsm
    78.8 KB · Affichages: 51

Si...

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut

Tu n’aurais pas tous ces problèmes si tu avais déjà ta liste complète. Tu peux en voir un exemple sans aucune macro (tiens, ça me change !) et des feuilles protégées (sans mot de passe) seulement pour bloquer certaines cellules de calculs.

Es-tu sorti de l’auberge ? Tu refuses les jumeaux ? Après les noms en double, il faudrait peut-être tester les prénoms, non ?

Dis-moi Job, est-ce moi qui commets l’erreur de calcul ?
Coeff.jpg
 

Pièces jointes

  • Tableau de notes.xlsm
    57.7 KB · Affichages: 42

job75

XLDnaute Barbatruc
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Bonjour ATHE RIOVELI, le forum,

Je reviens pour régler un problème qui me turlupinait.

Le Copier/Insérer des lignes du post #33 ne fonctionnait pas correctement.

Et c'était dû au mode Copier qu'il faut annuler à cet endroit :

Code:
'---décale les moyennes---
If br.Rows(br.Rows.Count).Row + 1 = [MOYENNES1].Row Then
  Application.CutCopyMode = 0 'annule le mode Couper/Copier
  [MOYENNES1].EntireRow.Insert
  [MOYENNES1].EntireRow(0).Clear 'efface la ligne précédente
End If
L'insertion de 100 lignes se fait en 1,5 seconde.

Edit : de plus la suppression de plusieurs noms effacés disjoints ne se faisait pas, j'ai remplacé par :

Code:
'---suppression des lignes des noms effacés---
If Application.CountBlank(br.Columns(2)) Then
  For i = br.Rows.Count To 2 Step -1
    If br(i, 2) = "" Then br(i, 2).EntireRow.Delete
  Next
End If
J'en ai terminé, utilisez donc les fichiers joints.

A+
 

Pièces jointes

  • CALCUL MOY noms effacés non supprimés(1).xlsm
    78 KB · Affichages: 45
  • CALCUL MOY noms effacés supprimés(1).xlsm
    79.2 KB · Affichages: 47
Dernière édition:

ATHE RIOVELI

XLDnaute Occasionnel
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut job75.
vous avez été d'un grand soutient pour moi dan la réalisation de ce projet.
Voici un aperçu de ce que je suis entrain de faire (le fchier MOY(9) est celui que j'ai utlisé).
Je n'ai pas encore finir avec la feuille trim1. (juste en bas de la ligne moyenne, il y aura un tableau statistiques des moyennes)
Ce fichier permettra aux professeurs principaux d'une classe de gérer le calcul annuel des moyennes de leurs élèves.
Quand j'aurai fini avec celui là, je vais essayer de finir définitivement celui qui permet à chaque prof de gérer ses notes et moyennes comme le fait ce tableau que vous si bien réalisé pour moi.
Je vous enverrai le fichier le moment venu.
INFINIMENT MERCI.
 

Pièces jointes

  • MGT(40%).xlsm
    75.1 KB · Affichages: 50

ATHE RIOVELI

XLDnaute Occasionnel
Re : Tableau excel avec insertion d'une ligne automatique comme le fait ACCESS

Salut à vous jobs.
Merci, j'utiliserai le fichier le dernier fichier que vous avez envoyer hier.
TOTAL COEF est en fait le total des coeficients de toutes les matières (il s'agit pas que cette colonne soit pour chaque élève. C'est pour cela que j'ai refais le talbeau). La moyenne de l'élèves est donc:
MOY=somme(Produit du coefficient de chaque matière *moyenne correspondant)/)TOTAL COEFF
Avec TOTAL COEFF=somme de tous les coeffients).
JE REFAIS Avec le fichier ù42 (je n'arive pas voir la touche diez de mon ordi).
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
315 124
Messages
2 116 472
Membres
112 753
dernier inscrit
PUARAI29