Déplacer des données, multiples contraintes

oasis_ck

XLDnaute Nouveau
Bonjour à tous ! ou rebonjour pour certains ;-)

Dans la continuité de mon projet, j'aimerai automatiser une tâche : placer les élèves en fonction de leur jour, heure, prof dans un planning.

Cependant il y a pas mal de contrainte... Le mieux est de jeter un coup d'oeil au fichier joint au lieu de faire un grand discours.
 

Pièces jointes

  • Listing Training v2.xlsm
    74.9 KB · Affichages: 91
  • Listing Training v2.xlsm
    74.9 KB · Affichages: 104
  • Listing Training v2.xlsm
    74.9 KB · Affichages: 102

oasis_ck

XLDnaute Nouveau
Re : Déplacer des données, multiples contraintes

Bonjour à tous
Great ! Je sens qu'on est plus très loin :eek:
Il reste 3 finitions :
- une barre noire (ou autre chose) apparaît lorsqu'il y a 7 élèves dans un créneau. Cela à pour but de ne pas se tromper pour remplir les créneaux à 6 élèves (les groupes actuels de 7 élèves sont dus à ce genre d'erreur) (CF. onglet exemple)
- le dernier élève dans le listing n’apparaît pas dans le planning
- une dernière "MFC" pour mettre en rouge ceux qui ont dépassés leurs abonnnements et qui sont à J-30 de leur fin d'abonnement

J'ai mis des notes dans le listing et un onglet "exemple" pour la barre noire

Avec mon plus grand soutien, merci !
 

Pièces jointes

  • ListingTrainingV11.xlsm
    143 KB · Affichages: 41

Paritec

XLDnaute Barbatruc
Re : Déplacer des données, multiples contraintes

Bonjour oasis Bebere le forum
bon voilà pour la MFC dans la feuille listing
pour la barre en noir si présence de 7 là je trouve cela moche mais comme c’est pour toi je vais le faire cet après midi
a+
Papou:eek:
 

Pièces jointes

  • ListingTrainingV12.xlsm
    142.6 KB · Affichages: 45

Bebere

XLDnaute Barbatruc
Re : Déplacer des données, multiples contraintes

bonjour Oasis,Paritec
ajout d'un tri tableau(sur heure)+index couleurs cellules dans les 2 dernières colonnes du tableau
çà tourne rond de mon côté
 

Pièces jointes

  • ListingTrainingV9.zip
    119.8 KB · Affichages: 33

oasis_ck

XLDnaute Nouveau
Re : Déplacer des données, multiples contraintes

Bonjour, Bebere, Paritec,
J'ai dû m'absenter ces dernière heures et je viens de remettre mon nez dedans.
Je suis parti du dernier fichier de Paritec. (désolé Bebere)
J'ai modifié un peu la MFC car j'ai mal exprimé ma requête sur les dates dans le listing mais j'ai réussi à reconfigurer ^^
En effet la barre noire est immonde et je l'ai passé en grise çà pique moins les yeux !
Et là on arrive (j'espère) au dernier bug !
Il peut avoir plusieurs groupes de 7 le même jour et il y a une 8ème ligne qui se rajoute (CF. le lundi)
 

Pièces jointes

  • ListingTrainingV15.xlsm
    146.1 KB · Affichages: 69

Paritec

XLDnaute Barbatruc
Re : Déplacer des données, multiples contraintes

Bonjour Oasis le forum
concernant la mise en page que tu as modifié, moi je veux bien mais avant de dire que cela ne marchait pas avais-tu seulement vérifié?? car moi je l'avais fait et 30 jours avant la date de fin de validité cela passait bien la colonne renouvellement en rouge !!! c'était bien le but recherché non ?? et par conséquent la colonne A en rouge.
bref pour les 7 lignes, voilà
a+
papou:eek:
 

Pièces jointes

  • ListingTrainingV16.xlsm
    145.7 KB · Affichages: 45

oasis_ck

XLDnaute Nouveau
Re : Déplacer des données, multiples contraintes

Bonjour,
La colonne renouvellement sert de statistique (fidélisation ou nouvel inscrit).
Mettre la colonne A en rouge permet de voir en un coup d'oeil ceux qui sont en défaut de paiement ou à la fin de leur abonnement (12 mois d'engagement). Ceci permet d'avoir un suivi personnalisé rapide.

J'ai une erreur en allant sur l'onglet planning

'Erreur exécution 91':
Variable objet ou variable de bloc With non définie

Code:
Sub nblig()
    Dim aa, bb, i&, a, n&, nb&, cel As Range
    With Feuil10
        aa = .Range("A10:L" & .Range("A" & Rows.Count).End(xlUp).Row)
    End With
    For Each a In Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche")
        For i = 1 To UBound(aa)
         nb = 0
         If aa(i, 12) = "oui" Then GoTo 1
         nb = 1
            For n = i + 1 To UBound(aa)
                If aa(i, 3) = a And aa(i, 3) = aa(n, 3) And aa(i, 4) = aa(n, 4) And aa(i, 5) = aa(n, 5) And Not (aa(n, 12)) = "oui" Then
                aa(i, 12) = "oui": aa(n, 12) = "oui": nb = nb + 1
                End If
            Next n
            If nb > 6 Then
            Set cel = Feuil11.Range("A3:A" & Feuil11.Range("A" & Rows.Count).End(xlUp).Row).Find(a)
            Feuil11.Rows(cel.Row + 3).Insert shift:=xlDown: nb = 0: GoTo 2
            End If
1        Next i
2    Next a
End Sub

Le débogage donne cette ligne :

Feuil11.Rows(cel.Row + 3).Insert shift:=xlDown: nb = 0: GoTo 2

Merci beaucoup pour votre temps et patience :)
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Déplacer des données, multiples contraintes

bonjour Oasis,Jean Marie
si cel is nothing tu as une erreur
écrit la ligne comme suit
Set cel = Feuil11.Columns(1).Find(a, LookIn:=xlValues)

edit:
ajout fichier
nouveau code dans module1
 

Pièces jointes

  • ListingTrainingV17.zip
    126.5 KB · Affichages: 35
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 263
Membres
103 498
dernier inscrit
FAHDE