Excel Macro constituer une date
Résolu
informatifien
Messages postés
741
Date d'inscription
Statut
Membre
Dernière intervention
-
informatifien Messages postés 741 Date d'inscription Statut Membre Dernière intervention -
informatifien Messages postés 741 Date d'inscription Statut Membre Dernière intervention -
Salut à tous les CCMistes,
bon petit défi:
je ne peux envoyer le fichier donc je vais donner un max de details, j'ai un calendrier, les mois sont en ligne et les jours en colonne, il y a des cellules fusionnées. Exemple pour janvier A2-B2-C2 fusionnées c'est le champs "Janvier" (ainsi de suite pour les autres mois) en dessous en A3 j'ai '1' pour premier janvier, en B3 j'ai V pour vendredi et en C3 une cellule vide(ainsi de suite pour les autres jours) .
je voudrai que, quand je remplisse une des cellule vide du mois, reconstituer la date donc trouver le jour et le mois, pour le jour c'est facile je fais un ActiveCell.OffSet(0,-2) pour le mois je peux pas faire un offset car selon le jour, le nombre de cellule pour remonté jusqu'à la cellule du mois peux varier, vous me direz il faut faire une boucle mais j'ai eu une autre idée j'ai nommé la plage de cellule de chaque mois exemple A3:C33 s'appelle donc Janvier.
Mes variables sont:
Dim Mois as Integer,Jour as Integer, Annee as Integer
Dim ValeurConge as date
Annee = 2010
Donc 2 questions la première comment je code ça:
If ma cellule est dans la zone Janvier Then
Mois = Janvier
la 2° comment je concatène ça:
ValeurConge = Jour + Mois + Annee
Voilà je pense que ça doit pas être bien sorcier mais bon je ne sais comment coder ça merci d'avance pour le coup de main, si vous avez des questions n'hésitez pas. . .
bon petit défi:
je ne peux envoyer le fichier donc je vais donner un max de details, j'ai un calendrier, les mois sont en ligne et les jours en colonne, il y a des cellules fusionnées. Exemple pour janvier A2-B2-C2 fusionnées c'est le champs "Janvier" (ainsi de suite pour les autres mois) en dessous en A3 j'ai '1' pour premier janvier, en B3 j'ai V pour vendredi et en C3 une cellule vide(ainsi de suite pour les autres jours) .
je voudrai que, quand je remplisse une des cellule vide du mois, reconstituer la date donc trouver le jour et le mois, pour le jour c'est facile je fais un ActiveCell.OffSet(0,-2) pour le mois je peux pas faire un offset car selon le jour, le nombre de cellule pour remonté jusqu'à la cellule du mois peux varier, vous me direz il faut faire une boucle mais j'ai eu une autre idée j'ai nommé la plage de cellule de chaque mois exemple A3:C33 s'appelle donc Janvier.
Mes variables sont:
Dim Mois as Integer,Jour as Integer, Annee as Integer
Dim ValeurConge as date
Annee = 2010
Donc 2 questions la première comment je code ça:
If ma cellule est dans la zone Janvier Then
Mois = Janvier
la 2° comment je concatène ça:
ValeurConge = Jour + Mois + Annee
Voilà je pense que ça doit pas être bien sorcier mais bon je ne sais comment coder ça merci d'avance pour le coup de main, si vous avez des questions n'hésitez pas. . .
A voir également:
- Excel Macro constituer une date
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
38 réponses
Bonjour,
Je reviens au départ, selon la description que voulez-vous mettre dans la cellule vide qui suit (le A =numéro du jour et B = le premier carractère du nom du jour ) ??
Et à quoi doit servir la valeur de cette cellule ?
Je reviens au départ, selon la description que voulez-vous mettre dans la cellule vide qui suit (le A =numéro du jour et B = le premier carractère du nom du jour ) ??
Et à quoi doit servir la valeur de cette cellule ?
Bonsoir,
Voici pour Noël : si votre calendrier ressemble à la pièce jointe alors pour chaque case vide (en orange) vos avez les données correspondantes directement par référence au numéro du jour.
Le fichier : https://www.cjoint.com/?mza0EsHqYG
Voici pour Noël : si votre calendrier ressemble à la pièce jointe alors pour chaque case vide (en orange) vos avez les données correspondantes directement par référence au numéro du jour.
Le fichier : https://www.cjoint.com/?mza0EsHqYG
Bonjour à vous tous,
j'espere que le père noel vous a gaté .. .
avec l'euphorie du réveillon j'ai oublié de poster mon fichier que j'ai nettoyé donc je regarde votre fichier ce soir Le Pingou et posterai le mien qui je l'espere vous eclairera tous.. . .
Merci
j'espere que le père noel vous a gaté .. .
avec l'euphorie du réveillon j'ai oublié de poster mon fichier que j'ai nettoyé donc je regarde votre fichier ce soir Le Pingou et posterai le mien qui je l'espere vous eclairera tous.. . .
Merci
et re bonsoir messieurs,
voilà mon fichier pour les questions je n'y répondrai que demain car je suis HS :s et m'en vais au lit mais remerci encore les gents qui participe ;)
https://www.cjoint.com/?mDu1WqgbcC
Bonne nuit
voilà mon fichier pour les questions je n'y répondrai que demain car je suis HS :s et m'en vais au lit mais remerci encore les gents qui participe ;)
https://www.cjoint.com/?mDu1WqgbcC
Bonne nuit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Jour = Target.Offset(0, -3).Value
Mois = (Target.Column - 4) / 4 + 1
Tu ne peux pas utiliser activecell qui sera la cellule active après la validation...
Ceci dit si toutes tes cellules étaient des dates (et n'afficher que la partie voulue) comme dans l'exemple du pingou ça serait plus simple pour tout le monde...
eric
Jour = Target.Offset(0, -3).Value
Mois = (Target.Column - 4) / 4 + 1
Tu ne peux pas utiliser activecell qui sera la cellule active après la validation...
Ceci dit si toutes tes cellules étaient des dates (et n'afficher que la partie voulue) comme dans l'exemple du pingou ça serait plus simple pour tout le monde...
eric
Bonjour,
Un petit encas qui pourrait vous servir : https://www.cjoint.com/?mDwlvRKyF5
En supplément pouvez-vous donner une réponse à ceci :
Je reviens au départ, selon la description que voulez-vous mettre dans la cellule vide qui suit (le A =numéro du jour et B = le premier caractère du nom du jour) ??
Et à quoi doit servir la valeur de cette cellule ?
Un petit encas qui pourrait vous servir : https://www.cjoint.com/?mDwlvRKyF5
En supplément pouvez-vous donner une réponse à ceci :
Je reviens au départ, selon la description que voulez-vous mettre dans la cellule vide qui suit (le A =numéro du jour et B = le premier caractère du nom du jour) ??
Et à quoi doit servir la valeur de cette cellule ?
Re bonjour le pingou euuh je n'ai pas saisi votre question là :s, et ne peux voir le fichier ce matin pffff c'est vraiment pas facile le VBA quand cjoint est bloqué :(
ah si ça y est je viens de comprendre, oui donc la cellule vide elle sert pour le decompte automatique des congés et RTT (par formule dans les petit tableau à droite) selon si on met 1C , 1/2C , RU ou RP celà decompte des jours . . .
le but de tous ça si celà peut vous etre utile, est que chaque agent se "connecte" au fichier puis rempli sa feuille perso et de là automatiquement s'affiche les jours posés dans l'onglet tableau du chef ce qui lui donnera une vue d'ensemble.
le but de tous ça si celà peut vous etre utile, est que chaque agent se "connecte" au fichier puis rempli sa feuille perso et de là automatiquement s'affiche les jours posés dans l'onglet tableau du chef ce qui lui donnera une vue d'ensemble.
Bonjour,
Merci pour l'information.
Dans se cas avec ma proposition il vous suffit de prendre la date correspondante dans la colonne des numéros du jour et d'enregistrer la valeur concernée dans le tableau du chef en recherchant la ligne de l'employé et la date correspondante. C'est quand même plus simple de cette manière.
Merci pour l'information.
Dans se cas avec ma proposition il vous suffit de prendre la date correspondante dans la colonne des numéros du jour et d'enregistrer la valeur concernée dans le tableau du chef en recherchant la ligne de l'employé et la date correspondante. C'est quand même plus simple de cette manière.
arrf là n'ayant pas votre fichier joint sous les yeux je ne peut rien dire lol mais vous avez surement raison je regarde ça ce soir et vous dis quoi . . .je pense comprendre que vous voulez en faite que en cellule A3 par exemple que j'inscrive la date complete?
Bonjour,
Note: la base est la date et l'on affiche que la partie désirée.
Le fichier du poste 22 concerne l'année 2010, seul les 4 premiers mois sont réalisés.
Le fichier du poste 26 est automatique selon le choix de l'année.
Note: la base est la date et l'on affiche que la partie désirée.
Le fichier du poste 22 concerne l'année 2010, seul les 4 premiers mois sont réalisés.
Le fichier du poste 26 est automatique selon le choix de l'année.
Bonjour,
Je vous ai créé un petit exemple directement sur votre classeur.
Voir les feuilles [Du Chef_Sem_1], [Du Chef_Sem_2] et [Feuil1].
Sur la feuille [Feuil1] vous entrez les données désirées qui seront reportées sur les feuilles du chef.
L’exemple : https://www.cjoint.com/?mEsLXnsZ7V
Je vous ai créé un petit exemple directement sur votre classeur.
Voir les feuilles [Du Chef_Sem_1], [Du Chef_Sem_2] et [Feuil1].
Sur la feuille [Feuil1] vous entrez les données désirées qui seront reportées sur les feuilles du chef.
L’exemple : https://www.cjoint.com/?mEsLXnsZ7V
Bonjour le pingou,
Bon alors votre exemple donne le résultat souhaité c'est genial ! ! Merci beau travail
mais . . .et oui il fallait bien un mais, est ce que je vais pouvoir adapter votre macro sur mon fichier? car, je dois garder la présentation que j'ai, maintenant je peux effectivement changer et mettre la date complète dans les cellules qui indique le jour (1,2,3 . . ) de plus j'avais des mise en formes conditionnelles, et j'ai vu vos modifications quand au calcule des congés c'est plus "intuitif" que mes formules mais pour le coup ne gère plus les 1/2 congés mais je dois pouvoir adapter j'ai compris votre methode et euuh lol vous avez de la chance dans votre entreprise plus vous posez des RTT plus vous en avez ? :) (juste que vous avez ajoutez les jours au lieu de les decompter pas grave du tout mais ca fait rever)
Et donc pour le faire marcher je dois donc coller le code dans chaque feuille et adapter les ligne qui utilise le nom de la feuille c'est bien ça?
Celà ne risque pas de poser problème avec les variables?
Merci.
Bon alors votre exemple donne le résultat souhaité c'est genial ! ! Merci beau travail
mais . . .et oui il fallait bien un mais, est ce que je vais pouvoir adapter votre macro sur mon fichier? car, je dois garder la présentation que j'ai, maintenant je peux effectivement changer et mettre la date complète dans les cellules qui indique le jour (1,2,3 . . ) de plus j'avais des mise en formes conditionnelles, et j'ai vu vos modifications quand au calcule des congés c'est plus "intuitif" que mes formules mais pour le coup ne gère plus les 1/2 congés mais je dois pouvoir adapter j'ai compris votre methode et euuh lol vous avez de la chance dans votre entreprise plus vous posez des RTT plus vous en avez ? :) (juste que vous avez ajoutez les jours au lieu de les decompter pas grave du tout mais ca fait rever)
Et donc pour le faire marcher je dois donc coller le code dans chaque feuille et adapter les ligne qui utilise le nom de la feuille c'est bien ça?
Celà ne risque pas de poser problème avec les variables?
Merci.
Bonjour,
Concernant la procédure, c’est correct de l’insérer dans chaque module de feuille car elle est réalisé dans se sens et non pas comme procédure indépendante.
Note : il est nécessaire d’avoir une feuille par semestre pour le chef.
Concernant la procédure, c’est correct de l’insérer dans chaque module de feuille car elle est réalisé dans se sens et non pas comme procédure indépendante.
Note : il est nécessaire d’avoir une feuille par semestre pour le chef.
oki, par contre finalement j'essaye adapter votre calendrier, mais j'ai des soucis au niveau des couleurs. . . .la mise en forme automatique ne marche pas mais pas du tout. . .de plus j'ai voulu remettre mars et avril en blanc comme le reste(car là c'est violet) enfin les collones jour et date, ça marche sauf sur 2 ou 3 cellule ou là bizarement IMPOSSIBLE de changer la couleur ,ca devient bleue et quelque soit la methode utilisée(pinceau,clic droit/format,outil pot de peinture) ca reste bleue . . .etrange n'est ce pas. . . .
Bon j'ai finalement réussi à adapter votre macro à mon calendrier déjà paramétré avec les mise en forme conditionnel ça à l'air de marcher il faut voir à l'utilisation je vais donc créer le reste des feuilles par simple copie et adapter les 2 seule ligne de code à adapter ... je suis impressionné par ce petit bout de code qui fait ce que je voulais avoir comme résultat. . .
une petite question par contre si dans tableau du chef 1° ou 2° semestre peut importe je met le nom des agent une ligne sur 2 celà risue-t'il de poser problème? je ne pense pas mais préfére demander quand meme .. . ?
une petite question par contre si dans tableau du chef 1° ou 2° semestre peut importe je met le nom des agent une ligne sur 2 celà risue-t'il de poser problème? je ne pense pas mais préfére demander quand meme .. . ?