planning brute vers planning structuré

  • Initiateur de la discussion Initiateur de la discussion Manu62
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Manu62

XLDnaute Impliqué
Bonjour,

Je vais essayé d'être le plus précis possible.

Dans le fichier joint, j'ai les infos d'un planning que j'extrait d'un logiciel sous format xls.

et je selectionne les colonnes que j'ai besoin. (comme la PJ)

Aujourd'hui, je fais des copier coller par conducteur, et des manipulations manuelle car comme le dit l'intitulé, c'est du brute. Donc je dois le structuré. cela est long...

Je regarde pls fil et je me dit que l'on peux automatiser cela. Mais bon j'ai besoin d'un coup de pouce pour le demmarrage. j'ai déjà quelque morceau de code pour la suite de ma demande...

En fait ce que cherche a faire :

1 - Dispatcher mes conducteurs de la feuille 1, en plusieurs feuille. idélamenent feuille renommé avec son nom....

2 - Dans le dispatch et c'est là où c'est compliqué :

En triant par date la journée du conducteur et par heure... (heure deb pavé), je cherche a vérifier que la première ville d'expéditions soit "LILLE" et que que la derniere ville de destination soit "LILLE" cf toto 2 et toto 3 qui eux ont les 2 conditions pas remplis.
Si ce n'est pas le cas, alors on crée un ligne avant départ lille arrivé (ville de départ de la deuxieme ligne). et inverse pour arrive. cf exemple.

3 - Il faudra que je fasse des calculs de distances, j'ai déjà le code qui tourne dans ma version manuelle que j'adapterais... et des calcul de cout...

Merci par avance

Manu
 

Pièces jointes

Re : planning brute vers planning structuré

Salut Manu,

Si je comprends bien :
Tu récupères une Bdd Brute
Tu splittes les données par chauffeur sur chacun des onglets
Tu fais un tri sur ces données (jour croissant, heure croissante)
Tu fais un contrôle sur les villes pour "rajouter" le tronçon manquant

Un coup d'enregistreur de macro te permettra de coder tout ca très rapidement.
Pour le contrôle, un boucle sur les colonnes "Départ/Arrivée" devrait réussir à te détecter les tronçons manquants et te rajouter la ligne manquante 😉

Un souci particulier? Où bloques-tu?
 
Re : planning brute vers planning structuré

Salut Manu,

Si je comprends bien :
Tu récupères une Bdd Brute
Tu splittes les données par chauffeur sur chacun des onglets
Tu fais un tri sur ces données (jour croissant, heure croissante)
Tu fais un contrôle sur les villes pour "rajouter" le tronçon manquant

Oui, c'est exactement cela.
Un coup d'enregistreur de macro te permettra de coder tout ca très rapidement.
Pour le contrôle, un boucle sur les colonnes "Départ/Arrivée" devrait réussir à te détecter les tronçons manquants et te rajouter la ligne manquante 😉

J'ai déjà essayé, mais jamais reussi mes histoires d'onglet.

Un souci particulier? Où bloques-tu?

Du coup, je suis toujours au départ, en plus les histoires de boucle, je ne suis pas très fortich

Merci de tes réponses, a te lire

Manu
 
Re : planning brute vers planning structuré

J'ai fait ca très vite 😀

'Séléction de la base de donnée
Sheets("Feuil1").Rows("1:1").Select
'Mise en place du filtre
Selection.AutoFilter
'Choix du premier chauffeur
Selection.AutoFilter Field:=1, Criteria1:="toto 1"
'Ajout d'un onglet qui sera dans ton exemple Feuil2
Sheets.Add
'Copier les lignes de toto1
Sheets("Feuil1").Select
Rows("1:1").Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
'Coller le tout dans Feuil2
Sheets("Feuil2").Select
ActiveSheet.Paste
Columns("A:M").Select
Application.CutCopyMode = False
'Appliquer le tri date/heure
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("K2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
'Changement du nom de l'onglet par le nom du chauffeur
Sheets("Feuil2").Name = Sheets("Feuil2").Cells(2, 1)
 
Re : planning brute vers planning structuré

Salut,

J'ai essayer, est ca marche pour le 1er cond, ensuite j'essai toto2, et ca plante mais je devrais y arriver....

Sauf que avant d'aller plus lion, ma liste de cond peux varier d'un mois sur l'autre...

Je pense que cela va beuguer, t'en penses quoi ?

Manu
 
Re : planning brute vers planning structuré

Evidemment que tes chauffeurs vont bouger chaque mois 😉
Aucun défi sinon 😀

Je ferais tourner une petite boucle d'abord pour lister (dans un autre onglet masqué par exemple) tous tes chauffeurs.

un truc du genre :

'Déclaration et initialisation
Dim Ligne, Ligne2 as Integer
Ligne = 2
Ligne2 = 1

'Boucle
Do until sheets("Feuil1).cells(Ligne,1) = ""
'Si le chauffeur n'est pas le même que celui de la ligne du dessus
If sheets("Feuil1).cells(Ligne,1) <> sheets("Feuil1).cells(Ligne-1,1) then
sheets("Chauffeur").cells(Ligne2,1) = sheets("Feuil1).cells(Ligne,1)
Ligne2= Ligne2 + 1
endif
Ligne = Ligne +1
loop

C'est bricolo mais bon 😀
Sinon on peut mettre un TCD sur le nom des chauffeurs sur l'onglet masqué et balancer un refresh du TCD dans la macro et aller chercher les valeurs du TCD 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
365
Réponses
7
Affichages
1 K
Réponses
3
Affichages
730
Réponses
5
Affichages
731
Compte Supprimé 979
C
Retour