Macro pr costauds (copier données planning sans formules et sans écraser...)

C

Christian

Guest
Bonjour à tout le forum,

Pourriez-vous m'aider à l'écriture d'une macro compliquée;
1/ cette macro devra copier des données sans copier les formules ni format condit
2/ copier les données d'un planning en ligne pour les coller dans un autre planning en colonne
3/ et ne devra pas écraser, lors du collage, les données existantes si les cellules sources sont vides, afin de ne pas écraser les cellules destinataires déjà renseignées...

Fichier joint + simple

Bien Amicalement
Christian
 

Pièces jointes

  • CA-RTT-RH.zip
    25.3 KB · Affichages: 48
@

@+Thierry

Guest
Bonjour Christian, le Forum

Premièrement une petite remarque, et je l'ai faite très souvent cette remarque, c'est encore une fois de plus une démonstration de cet énorme fossé qui sépare les développeurs des utilisateurs.

En effet c'est très bien d'avoir fait développer une partie du travail par Monique et aussi Jean-Marie, et puis une autre partie par Monique (again "The Queen of the Formulas") mais pour ensuite demander "Macro pour costauds" c'est vraiment la preuve que tu n'as pas pris une bonne journée de réflexion pour connaître les tenants et les aboutissants de ton Projet... Ce qui est la base même à faire avant tout commencement de développement.

Maintenant que dire ou que faire ... Il te manque la phase finale de ton projet... Et je suis certain que Monique doit être en train de plancher à mort pour te trouver encore une solution... Alors que tout aurait été si simple si tu avais exposé ton projet de "A" à "Z" avec cette partie planning...

Bien sûr VBA est capable de miracles comme toujours. Mais en partant de ce principe on arrive à deux choses :
1) on complique la vie des développeurs
2) on risque d'aboutir à une sorte d'usine à gaz non fiable car faire un programme qui jongle entre formules et VBA, on en sait quelque chose avec Monique d'ailleurs, n'est pas vraiment l'idéal. Il suffit d'un truc mal pensé et badaboum bonsoir le résultat !

Enfin pour le fun voici ton fichier... Le traitement étant relativement long, j'ai mis une progressbar, j'espère qu'elle passera chez toi, (programme développé sous Excel 2000 / Win Me)

Attention ce n'est vraiment pas un exemple de style ni de fiabilité étant donné les circonstances. Juste une démo pour le fun. Par conséquent je te conseille de faire des milliers de test avant d'employer un truc comme ceci en production.

Bon Dimanche à tous et toutes
@+Thierry
 

Pièces jointes

  • XLD_FUN_Planning_RTT.zip
    34.1 KB · Affichages: 89
C

Christian

Guest
Bonsoir à tout le forum
Bonjour Thierry,

Je ne n'ai pas fait développer une partie de mon projet par Monique, c'est Monique qui avait fait un travail, sur la génération automatique de RH sur 6 semaines, quand au travail de Jean-Marie il s'agit d'un freeware qu'il propose sur son site et que j'ai également adapter à mes besoins ensuite j'ai trouver intéressant de rapprocher ces 2 applis pour justement aller plus loin dans mon projet (d'où cette demande de macro). Je pense que c'est le but même de ce forum, avoir des exp et s'en inspirer...désolé je trouve tes remarques sévères.
Pour toi, le crack des macros, c'est très facile mais pour moi, et bien d'autres, même si l'on réflechi plusieurs jours à la finalité d'un projet c'est très difficile et c'est la que nous vous faisons appel pour des macros ou formules. Je suis bien conscient du travail que vous "nous faites" et vous en remercie une nouvelle fois.

En tout cas un grand merci pour ton travail, mais j'ai un petit problème ; mon déroulant, (format de contrôle), inscrit des chiffres de 1 à 12 en B8 et non des dates, peux-tu me dire ce qu'il faut corriger dans le code STP ?.

Bien amicalement... quand même lol !!!
Christian
 
@

@+Thierry

Guest
Bonsoir Christian, le Forum

Comme je te l'ai dit c'est une démo pour le fun, et surtout pas "très facile mais pour moi" je me suis fais bien "c..." pour un truc comme çà, et je n'ai fais que faire fonctionner les deux feuilles telles que tu les as mises en lignes....

Sinon ne t'inquiètes pas ce sont bien des dates qui sont envoyées en "B8" par mon code. Maintenant on en arrive aux problèmes que j'évoquais dès le départ, à force de mettre des trucs bout à bout, et bien il faut être sacrément fortiche, et même si tu trouves mes mises en garde sévères, c'est juste la réalité.

Dans ta liste de validation (qui, je tiens à le préciser n'existait pas dans ton exemple) essaie de mettre des dates... mais là je n'ai aucune idée des résultats et les répercussion dans les formules de Monique... Quand tu dis que je suis sévère... arf.... je suis juste réaliste et j'ai des heures de vol...et je ne suis pas "le crack des macros" car là j'aurais dû te faire une macro qui fasse même le planning des gens non-encore embauchés !!!

Bonne Nuit et Semaine (qui va être assez chragée pour moi d'ailleurs)
@+Thierry
 
@

@+Thierry

Guest
Bonjour Christain, le Forum

En relisant au réveil avec un bon café, je vois que j'ai interprété ta demande à l'envers !

"mon déroulant, (format de contrôle), inscrit des chiffres de 1 à 12 en B8 et non des dates"

Par contre je ne vois pas du tout comment tu vas gérer les dates de "C8" à AG8"... Mais si tu veux juste deux chiffres depuis mon programme vers "B8" alors change cette ligne :

.Range("B8") = CDate("01/" & Mois & An)

Par celle-ci :
.Range("B8") = Mois

Dans la foulée tu peux aussi supprimer pûrement et simplement cette ligne qui devient nulle et non-avenue :

Const An As String = "/2005" '<<<<<<<<<<<<<<< PARAMETRER ICI L'ANNEE DE TRAVAIL


Mais à partir de ce changement les valeurs retournées de "C8" à AG8" seront on ne peut plus farfelues (Année 1900 !!! lol) mais si tu arrives à le gérer...

Bonne Journée
@+Thierry
 
C

Christian

Guest
Bonjour à tout le forum,
Bonjour Thierry,

J'ai bien noté les 2 modifs sur ta macro, c'est OK.
Pas de problème de dates (1900) puisque que c'est le n° indiqué par le déroulant (B8) qui change les dates d'une ligne C7 à AG7 et qui fait donc changé l'affichage.
En revanche la macro copie : expl des CA posés en janvier pour l'agent1 soit C9 à AG9 sont copiés toutes l'année... sur le planning aux mêmes dates.

Peux-tu y jeter un oeil, quand tu pourras?
Bien amicalement
Christian

PS Bon courage pour cette grosse semaine...
 
@

@+Thierry

Guest
Bonjour Christian

Je te réponds en directe de ma pose déjeuner.

Non là il n'y a rien à faire, c'est à toi de voir avec les formules que Monique a préparées...

Moi pour le test j'ai laissé la première ligne contenant les formules... Et en "Christian2" j'ai mis "test" et "lol" et of course vu qu'il sont écrit en dûr il risque pas de changer en fonction du mois et donc sont reportés toute l'année. C'est tout à fait normal. La macro n'a strictement rien à voir la dedans.

C'est d'ailleurs pour ceci que j'étais surpris que tu ne veuilles pas une vraie date en B8. J'ai compris que cette feuille RTT étaient en lien avec un programme de Monique "Congés.xls" et que ce qui y était reporté, l'était par formules en fonction d'une date. (" et ces dates s'inscrivent sur le tableau ci-dessous (par formules et formats conditionnels")

Moi pour ma partie je me suis efforcé de faire une boucle qui rende la main à Excel pour mettre à jour les formules à chaque changement de Mois, ce qui se passe très bien.

Maintenant on dirait que c'est du 100% manuel ton truc pour indiquer et metre à jour les CA, alors fais le mois par mois en surprimant la la boucle For Each Mois, mais ce n'est pas ce que pourtant tu avais demandé...

Bon Appétit
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 295
Messages
2 086 959
Membres
103 404
dernier inscrit
sultan87