Total bloqué macro Excel
Résolu/Fermé
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
-
5 mars 2008 à 11:35
Grobibi34 Messages postés 83 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 29 mai 2008 - 20 mars 2008 à 08:48
Grobibi34 Messages postés 83 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 29 mai 2008 - 20 mars 2008 à 08:48
A voir également:
- Total bloqué macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Code puk bloqué - Guide
- Si et excel - Guide
- Formule total excel - Guide
8 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
5 mars 2008 à 19:53
5 mars 2008 à 19:53
Bonjour,
Déjà avant de construire ton plannig il faudrait mieux traiter tes dates.
Si tu sélectionne le 05/03/08 dans ta cellule tu te retrouves avec 03/05/08 car tu utilises une textbox (qui contient une chaine) en faisant confiance à excel pour l'interprétation de la date et lui choisi le format mm/jj/aa.
Met à jour ta cellule directement avec la valeur de MonthView1 : Range("C1").Value = MonthView1.Value
Pour le reste j'ai l'impression que tu débutes en vba et faire un plannig n'est pas si évident.
Déjà il faudrait construire ton calendrier hors vba, que ta feuille soit prete. A la limite gérer la 1ère date avec vba (avec toute la gestion que ça implique pour les données déjà saisies : disparition de valeurs, décalage des autres...)
Si ton calendirer démarre le 01/01/08 en A2 et bien la date suivant c'est en B2: =A2+1. A toi d'afficher avec le format cellule juste 01 02 ...
Et au-dessus récuperer le 1er jour du mois et afficher juste le mois...
Après tu pourras chercher à remplir ton planning mais honnetement je sens qu'il va falloir te guider jusqu'au bout et là je n'aurais pas trop le temps.
Quand tu auras avancé poste sur un nouveau sujet
eric
Déjà avant de construire ton plannig il faudrait mieux traiter tes dates.
Si tu sélectionne le 05/03/08 dans ta cellule tu te retrouves avec 03/05/08 car tu utilises une textbox (qui contient une chaine) en faisant confiance à excel pour l'interprétation de la date et lui choisi le format mm/jj/aa.
Met à jour ta cellule directement avec la valeur de MonthView1 : Range("C1").Value = MonthView1.Value
Pour le reste j'ai l'impression que tu débutes en vba et faire un plannig n'est pas si évident.
Déjà il faudrait construire ton calendrier hors vba, que ta feuille soit prete. A la limite gérer la 1ère date avec vba (avec toute la gestion que ça implique pour les données déjà saisies : disparition de valeurs, décalage des autres...)
Si ton calendirer démarre le 01/01/08 en A2 et bien la date suivant c'est en B2: =A2+1. A toi d'afficher avec le format cellule juste 01 02 ...
Et au-dessus récuperer le 1er jour du mois et afficher juste le mois...
Après tu pourras chercher à remplir ton planning mais honnetement je sens qu'il va falloir te guider jusqu'au bout et là je n'aurais pas trop le temps.
Quand tu auras avancé poste sur un nouveau sujet
eric
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
30
6 mars 2008 à 09:38
6 mars 2008 à 09:38
Bon d'abord merci pour la petite astuce pour le MonthView, tu as raison ma technique précédente était bugué.
J'ai plutot concience du gros problème que ce planning représente. J'essai de décomposer le problème étape par étape.
Et je pensai être en bonne voie jusqu'à éditer colonnes
Tu penses donc que pour pouvoir éditer mes colonnes le mieux serait de créer un calendrier du format que je souhaite par exemple sur la feuille 2 et le copier entre les deux dates que je souhaite ? Sachant que sous Excel chaque jour à une valeur propre depuis le 1/1/1900. Je sais pas trop se que tu penses de mon idée, comme tu le dis je suis débutant...
Cordialement
Grobibi34
J'ai plutot concience du gros problème que ce planning représente. J'essai de décomposer le problème étape par étape.
Et je pensai être en bonne voie jusqu'à éditer colonnes
Tu penses donc que pour pouvoir éditer mes colonnes le mieux serait de créer un calendrier du format que je souhaite par exemple sur la feuille 2 et le copier entre les deux dates que je souhaite ? Sachant que sous Excel chaque jour à une valeur propre depuis le 1/1/1900. Je sais pas trop se que tu penses de mon idée, comme tu le dis je suis débutant...
Cordialement
Grobibi34
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
6 mars 2008 à 18:35
6 mars 2008 à 18:35
oui, prépare ton calendrier sans vba.
Donc une date fixe saisie à la main pour la 1ère date, les autres jours calculés à partir de cette date.
Prépare la mise en page qui te va bien etc
Ensuite pour une autre feuille pour 2009 (si tu fais un calendrier annuel) tu n'auras qu'à saisir 01-01-2009, les autres jours doivent se calculer automatiquement, et la mise en page etre correcte.
Ce n'est qu'une piste, à toi de bien définir tes besoins avant de commencer
Une fois qu'il sera prèt tu pourras voir quoi créer en vba pour faciliter le remplssage.
eric
Donc une date fixe saisie à la main pour la 1ère date, les autres jours calculés à partir de cette date.
Prépare la mise en page qui te va bien etc
Ensuite pour une autre feuille pour 2009 (si tu fais un calendrier annuel) tu n'auras qu'à saisir 01-01-2009, les autres jours doivent se calculer automatiquement, et la mise en page etre correcte.
Ce n'est qu'une piste, à toi de bien définir tes besoins avant de commencer
Une fois qu'il sera prèt tu pourras voir quoi créer en vba pour faciliter le remplssage.
eric
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
30
7 mars 2008 à 09:51
7 mars 2008 à 09:51
Merci Eric pour tout ces conseils avisé que tu me donnes.
J'avance petit à petit mais cela prends de plus en plus forme.
Je voulai juste une dernière précision, pour calculer les jours, il me suffit de récupérer la valeur du jour en chiffre , de l'incrémenter, et après de la reconvertir en date ?
C'était encore pas très clair se que je vien de dire....
J'èspère que tu auras compris.
Cordialement
Grobibi34
J'avance petit à petit mais cela prends de plus en plus forme.
Je voulai juste une dernière précision, pour calculer les jours, il me suffit de récupérer la valeur du jour en chiffre , de l'incrémenter, et après de la reconvertir en date ?
C'était encore pas très clair se que je vien de dire....
J'èspère que tu auras compris.
Cordialement
Grobibi34
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
30
7 mars 2008 à 17:32
7 mars 2008 à 17:32
Re Eric, je te fais par de mes avancées dans mon planning ça comment à prendre forme je suis plutot content:
https://www.cjoint.com/?dhrFc8ftlJ
C'est plutot proche de se que je voulais à la base.
Dis moi se que tu en penses.
Cordialement.
Grobibi34
https://www.cjoint.com/?dhrFc8ftlJ
C'est plutot proche de se que je voulais à la base.
Dis moi se que tu en penses.
Cordialement.
Grobibi34
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
7 mars 2008 à 22:00
7 mars 2008 à 22:00
Bonsoir,
et bien pour un début c'est très bien oui :-)
Juste un truc que font tous les débutant. Tu n'es pas obligé de faire un select à xhaque fois.
Par exemple :
Range("A3").Select
Selection.HorizontalAlignment = xlRight
ActiveCell.FormulaR1C1 = "Début des travaux :"
peut s'ecrire :
Range("A3").HorizontalAlignment = xlRight
Range("A3")..FormulaR1C1 = "Début des travaux :"
Ca allege ton code et tu gagnes du temps à l'execution.
Et quand tu utilises les evenements, restreint à la zone qui t'interesse avec par exemple :
If Intersect(Target, Range("C9:Z100")) Is Nothing Then Exit Sub
Je n'avais pas fait attention que c'était toi sur l'autre post...
Bonne continuation
eric
et bien pour un début c'est très bien oui :-)
Juste un truc que font tous les débutant. Tu n'es pas obligé de faire un select à xhaque fois.
Par exemple :
Range("A3").Select
Selection.HorizontalAlignment = xlRight
ActiveCell.FormulaR1C1 = "Début des travaux :"
peut s'ecrire :
Range("A3").HorizontalAlignment = xlRight
Range("A3")..FormulaR1C1 = "Début des travaux :"
Ca allege ton code et tu gagnes du temps à l'execution.
Et quand tu utilises les evenements, restreint à la zone qui t'interesse avec par exemple :
If Intersect(Target, Range("C9:Z100")) Is Nothing Then Exit Sub
Je n'avais pas fait attention que c'était toi sur l'autre post...
Bonne continuation
eric
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
30
19 mars 2008 à 17:16
19 mars 2008 à 17:16
Salut Eric, bon alors je te continu de te faire part de mes avancées sur mon planning.
https://www.cjoint.com/?dtrjw32OQ0
Voici un peu les problèmes que j'ai:
-le monthview ne passe pas sur toutes les bécannes, donc qu'est-ce qu'il me reste comme option?
-J'aimerai pouvoir griser les cellules du week-end et jour férier, est-ce que c'est possible ? et si oui comment y parvenir ?
Cordialement
Grobibi34
https://www.cjoint.com/?dtrjw32OQ0
Voici un peu les problèmes que j'ai:
-le monthview ne passe pas sur toutes les bécannes, donc qu'est-ce qu'il me reste comme option?
-J'aimerai pouvoir griser les cellules du week-end et jour férier, est-ce que c'est possible ? et si oui comment y parvenir ?
Cordialement
Grobibi34
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
19 mars 2008 à 19:03
19 mars 2008 à 19:03
Bonsoir,
Quand tu as un nouiveau pb c'est mieux de démarrer une nouvelle discussion.
Si je ne suis pas là ou ne répond pas tout de suite tu cours le risque que personne ne lise le fil en cours...
Et souvent 2-3 avis valent mieux qu'un.
-Pour le monthview soit tu installes le contrôle partout, soit tu utilises uniquement des contrôles livrés en standard avec excel.
-Pour les we le plus simple est de mettre un format conditionnel qui teste avec joursem().
Pour les fériés ça va être bcp plus compliqué. Tu as d'une part les fetes fixes et d'autre part les fetes mobiles. Pour les fetes mobiles il faut calculer la date du jour de paques de l'année, les autres sont x jours plus tard.
Voici une formule pour les feries mobiles. Simplifiée mais uniquement valable entre 1900 et 2078 :
- Lundi de Pâques :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7-5
- Jeudi de l'Ascension :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+33
- Lundi de Pentecôte :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+44
N'oublie pas de passer en résolu le sujet stp
eric
Quand tu as un nouiveau pb c'est mieux de démarrer une nouvelle discussion.
Si je ne suis pas là ou ne répond pas tout de suite tu cours le risque que personne ne lise le fil en cours...
Et souvent 2-3 avis valent mieux qu'un.
-Pour le monthview soit tu installes le contrôle partout, soit tu utilises uniquement des contrôles livrés en standard avec excel.
-Pour les we le plus simple est de mettre un format conditionnel qui teste avec joursem().
Pour les fériés ça va être bcp plus compliqué. Tu as d'une part les fetes fixes et d'autre part les fetes mobiles. Pour les fetes mobiles il faut calculer la date du jour de paques de l'année, les autres sont x jours plus tard.
Voici une formule pour les feries mobiles. Simplifiée mais uniquement valable entre 1900 et 2078 :
- Lundi de Pâques :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7-5
- Jeudi de l'Ascension :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+33
- Lundi de Pentecôte :
=FRANC((JOUR(MINUTE(A/38)/2+55)&"/4/"&A)/7;)*7+44
N'oublie pas de passer en résolu le sujet stp
eric
Grobibi34
Messages postés
83
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
29 mai 2008
30
20 mars 2008 à 08:48
20 mars 2008 à 08:48
Ok.
Bon alors pour clore le sujet je transmet mon planning. Il y a encore pas mal d'amélioration à apporter, mais dans le principe ça marche.
J'espère que ça pourra aider quelqu'un. https://www.cjoint.com/?duiWznpgsp
Cordialement
Grobibi34
Bon alors pour clore le sujet je transmet mon planning. Il y a encore pas mal d'amélioration à apporter, mais dans le principe ça marche.
J'espère que ça pourra aider quelqu'un. https://www.cjoint.com/?duiWznpgsp
Cordialement
Grobibi34