Résolu XL 2019 Fusionner des cellules en VBA avec conditions (RÉSOLU)

lyesse1

XLDnaute Nouveau
Supporter XLD
Bonjour à tous,
J'aurais besoin de votre aide pour trouver un processus en VBA pour fusionner des cellules lorsque plusieurs conditions sont réunies, je vous explique :
Nous avons la ligne 14 qui contient des horaires en TAD (Transport à la demande, baliser par un téléphone vert sur la fiche horaires), ce qui veut dire que le client doit appeler pour réserver une navette en respectant les horaires de desserte des arrêts.
Ce qu'il m'est demandé, c'est lorsque plusieurs clients prennent la même navette, la colonne KM_COMM. (kilométrage commerciaux, avec les clients à bord) doit être fusionné et ne garder que la plus grande valeur, de même pour la colonne KM_HLP (kilomètres haut le pied "à vide"), c'est sûr que nous ne pouvons pas facturer plusieurs navettes à notre client principal alors que le conducteur en a effectué qu'une seule.
J'espère que j'ai été assez clair.
Je joins le fichier des horaires de la ligne 14 ainsi que la fiche TAD de la ligne 14 pour le mois d'octobre, tu comprendras que j'ai modifier le nom des conducteurs et des clients.

Merci d'avance
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

fanfan38

XLDnaute Accro
Bonjour,
Pas évident la recherche sur des heures... (j'ai donc fait une boucle)
Perso j'ai copier la feuille 14 (horaire) sur TAD ligne 14...
J'espère avoir répondu à ton problème...
A+ François
 

Fichiers joints

lyesse1

XLDnaute Nouveau
Supporter XLD
Salut fanfan38,
Merci pour ce boulot de fou, mais ce n'est pas ce que je dois obtenir et en plus j'ai une erreur de compilation (pièce jointe "erreur de compilation")
Il faut que les valeurs des colonnes K et L doivent passer de : pièce jointe "TAD normal" à pièce jointe "TAD fusionné".

Merci
 

Fichiers joints

lyesse1

XLDnaute Nouveau
Supporter XLD
Salut fanfan38,
Excellent, merci beaucoup.
Je rêve de savoir faire des choses comme ça.
Par contre, peux tu stp m'expliquer comment ça fonctionne pour que je puisse le réutiliser sur les prochains fichiers, j'en fais tous les mois, ou dois-je sauvegarder ce fichier comme modèle et ensuite je copie les données que j'exporte du logiciel pour les coller dedans ?

Merci encore
 

fanfan38

XLDnaute Accro
Une macro est sur la feuille ligne 14
celle ci enregistre dans une variable le chemin du fichier, regarde si le fichier "TAD fusionné" est ouvert, si oui le ferme...
Ensuite il sauvegarde le fichier en cours sous le nom du futur fichier ("TAD fusionné")
Une deuxième macro est dans thisworkbook
Cette 2ème macro, qui se lance à l'ouverture du fichier, regarde si le fichier en cours est bien le fichier "TAD fusionné"
si oui il crée 4 variables ligbeb (ligne debut de la zone), hfin (heure de fin la + grande), max1 (kmcom+grand), max2(km_hlp+grand)
ensuite il contrôle si même date, même conducteur, date début+petite que hfin, met à jour max1 et max2
si l'une de ces conditions n'est pas rempli la fonction fusionne (si nécessaire) les colonnes K et L et y met les valeurs max1 et max2...
Ci joint le fichier avec tout ce qui est inutile supprimé + 1 correction)....
A+ François
 

Fichiers joints

lyesse1

XLDnaute Nouveau
Supporter XLD
Salut François,
Super, c'est un peu plus compréhensible maintenant.
Peux-tu me dire juste si j'ai bien compris, je peux utiliser ce fichier pour faire la même chose avec les autres lignes, il me faut juste copier les données des autres lignes en faisant un tri comme dans le fichier de la Ligne 14, ça me créera les fusions et j'aurais juste à renommer le fichier après c'est tout.
En tout cas merci pour tout, SUPER BOULOT.
J'ai une question, je souhaiterai apprendre le VBA, peux-tu stp me dire ce que je dois faire comme formation ?
j'ai bien fait de vous aider, avec ce que j'ai pu, mais au moins je suis sûr que vous le méritez tous.
Excellent site et continuez comme ça.
J'espère que vous aurez encore à m'aider.
 

fanfan38

XLDnaute Accro
Bonjour
Le fichier modifié s’appellera "TAD fusionné" mais je pense que OUI tu peux l'utiliser pour les autres lignes
Sur la feuille de la ligne il faut la macro du bouton et la fonction qui permet de savoir si le fichier est ouvert
dans thisworkbook du classeur il faut la macro open... et la fonction regroup
et dans le classeur un module avec seulement les 2 variables max1 et max2 (permet d'utiliser ces valeurs dans la fonction et dans la macro...)

Il y a des sites formidable pour apprendre le vba: https://www.excel-pratique.com/fr/vba.php
Dans excel il y a développeur, enregistrer une macro qui permet de t'aider aussi...

A+ François
 

lyesse1

XLDnaute Nouveau
Supporter XLD
Salut François,
Merci beaucoup pour ton aide.
Si jamais j’ai des questions, puis-je te contacter directement ?
Je vais de suite voir sur le lien que tu m’as envoyer.
Merci encore et continuez comme ça.
Au plaisir
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas