Inscrre une date depuis un calendrier dans un tableau. (Résolu)

T77XDD

XLDnaute Occasionnel
Bonjour,

dans un premier temps j'avais (nous) établit un classeur permettant de remplir la feuille "A signer" depuis la feuille "W.P." et tout était ok. Mais (il y a toujours un mais), une partie du personnel est passée sous une méthode de saisie correspondant à "Calend W.P.", alors les autres m'ont demandé si je pouvais leur bricoler qq chose qui y ressemble.

Après mes essais, plutôt infructueux je suis arriver à ça (voir classeur). Je me contente de de faire défiler F8 en VBA et j'obtiens le résultat que on voit à l'écran!!!:mad:

Ce que j'essai de faire:
je clique sur la 1ere case des congés le résultat s'inscrit dans "Range("AD65536").End(xlUp).Offset(1, 0).Select",
je clique sur le dernier jour des congés le résultat s'inscrit dans "Range("AE65536").End(xlUp).Offset(1, 0).Select".
La période, sur le calendrier, doit se colorer en fonction du type d'absence choisie (CP, Ml, D/2)

Voilà, merci d'avance pour votre aide que je sais très efficace.
 

Pièces jointes

  • Calendwp.xlsm
    243.5 KB · Affichages: 66
  • Calendwp.xlsm
    243.5 KB · Affichages: 76
  • Calendwp.xlsm
    243.5 KB · Affichages: 61
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Inscrre une date depuis un calendrier dans un tableau.

Bonjour,

Peux-tu préciser comment fonctionne la feuille WP par rapport à la feuille Calendrier WP? quelles interactions
Pour colorier la feuille calendrier, comment sait-on s'il a choisi CP Maladie ou D/2

Précise comment tu veux que fonctionne la feuille Calendrier WP : que fait l'individu? A la suite de cela, que doit faire le programme?

a+
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Inscrre une date depuis un calendrier dans un tableau.

Bonjour T77XDD, Chalet :),

Si j'ai bien compris, mais ce n'est pas sûr :p voir le fichier ci-joint.

A te relire

Martial
 

Pièces jointes

  • Calendwp.xlsm
    245.7 KB · Affichages: 59
  • Calendwp.xlsm
    245.7 KB · Affichages: 64
  • Calendwp.xlsm
    245.7 KB · Affichages: 64

T77XDD

XLDnaute Occasionnel
Re : Inscrre une date depuis un calendrier dans un tableau.

Bonsoir, merci pour vos réponses.
Ce que je cherche à faire!

La première partie est donnée par Yaloo sauf que je n'arrive pas à colorer ou mettre une marque (c, ml, d/2) dans les cases des journées déjà prises, en suite la deuxième partie se fait comme elle se faisait précédemment à partir de la feuille "W.P." sauf que je déplace le tableau en "Calend W.P.!$AD$10;$AI$41". en-suite je suprime la feuille "W.P."

Il faudrait donc rajouter un choix de couleurs (le plus lisible) pour la période bornée par les dates de début et de fin de congés.
Je continue a essayer de faire avancer le sch.....ick et je vous tiens au courant si il y aune lueur qui sen fait entre mes pauvres neurones.

J'ai modifié le classeur en enlevant la feuille "W.P." et en adaptant à la feuille calend W.P. Tout fonctionne sauf jours demandés et pourtant j'ai remplacé select par value mais bon.....
Bonsoir
 

Pièces jointes

  • Calendwp.xlsm
    245.4 KB · Affichages: 37
  • Calendwp.xlsm
    245.4 KB · Affichages: 42
  • Calendwp.xlsm
    245.4 KB · Affichages: 45

Yaloo

XLDnaute Barbatruc
Re : Inscrre une date depuis un calendrier dans un tableau.

Re,

Vois dans le fichier ci-dessous, ne pas oublier : c pour Congés, m pour Maladie et d pour demi-journée.

A te relire

Martial
 

Pièces jointes

  • Calendwp.xlsm
    244.5 KB · Affichages: 60
  • Calendwp.xlsm
    244.5 KB · Affichages: 53
  • Calendwp.xlsm
    244.5 KB · Affichages: 56

T77XDD

XLDnaute Occasionnel
Re : Inscrre une date depuis un calendrier dans un tableau.

Bonjour,
merci pour ce que tu m'as envoyé, par contre il y a un ptit problème: la date de l'ordi est modifiée en fonction de la dernière ligne de la saisie de dates fin de congés. Je suppose qua ça vient de là "Date = Cells(i, 2) & "/" & Cells(42, c) & "/" & Year(Now)". De pus dans mon idée il serait mieux ou plus logique d'inscrire la date de début de congés à partir de "j = [AD65536].End(xlUp).Row" En plus est ce que tu pourrais m'expliquer
'NOM
.[B3] = [AE3]

'Droits
.[C17] = [AH4]

'Jours pris
.[C20] = [AH5] etc etc

Merci.
 

Pièces jointes

  • Calendwp.xlsm
    244.5 KB · Affichages: 42
  • Calendwp.xlsm
    244.5 KB · Affichages: 53
  • Calendwp.xlsm
    244.5 KB · Affichages: 50

Yaloo

XLDnaute Barbatruc
Re : Inscrre une date depuis un calendrier dans un tableau.

Bonjour T77XDD,

En effet, j'ai utilisé Date alors que c'est un terme de VBE qu'il ne faut utiliser que pour obtenir la date du jour, je l'ai remplacé par Dat.

De plus dans mon idée il serait mieux ou plus logique d'inscrire la date de début de congés à partir de "j = [AD65536].End(xlUp).Row"

Je n'ai pas compris ce que tu voulais dire :eek:

VB:
  With Sheets("A signer")
    'Dernière ligne de la colonne AD
    j = [AD65536].End(xlUp).Row
    babs = Range("AH" & j)
    
    'NOM
    .[B3] = [AE3]
    
    .....
        
    'Jours demandés
    .[C23] = Range("AF" & j).Value

Il faut prendre depuis le With Sheets("A signer"), cette ligne signifie avec la feuille A signer, donc à chaque fois que tu utilises une cellule et que tu mets un . devant, la cellule indiquée fera partie de la feuille A signer.

Pour utiliser une cellule, il y a plusieurs façons de l'écrire, mais la plus courte et pour moi la plus lisible est de la mettre entre crochets. Lorsqu'il s'agit d'une cellule "fixe" et non variable.

Pour la cellule variable, dans notre cas, la ligne change pour les colonnes AD, AE, AF, et AG, plusieurs possibilités (pour AD par exemple) :
j = [AD65536].End(xlUp).Row permet d'obtenir le dernière ligne pleine de la colonne AD
Range("AD" & j)
Cells(j, "AD")
Cells(j, 30) où 30 est la trentième colonne de la feuille.

.Value est important lorsque le contenu de la cellule est une formule.

VB:
With Sheets("A signer")
  .[B3] = [AE3]
End With

Lorsque l'on écrit .[B3] = [AE3] cela va copier la valeur de la cellule AE3 de la feuille active (puisqu'il n'y a pas de . ) dans la cellule B3 de la feuille "A signer" (puisqu'il y a un . )


A+
 

Pièces jointes

  • Calendwp.xlsm
    243.5 KB · Affichages: 39
  • Calendwp.xlsm
    243.5 KB · Affichages: 45
  • Calendwp.xlsm
    243.5 KB · Affichages: 45

T77XDD

XLDnaute Occasionnel
Re : Inscrre une date depuis un calendrier dans un tableau.

Merci pour ces précisions,
j'ai un "VBA pour excel 2002" mais je n'avais pas trouvé tout ça et ça me semble vraiment pratique.

En ce qui concerne
De plus dans mon idée il serait mieux ou plus logique d'inscrire la date de début de congés à partir de "j = [AD65536].End(xlUp).Row"
je voulais inscrire dans le titre de la feuille la dernière ligne de la colonne "Date début de congés" ce qui dans mon idée s'écrit comme ça: [AD65536].End(xlUp).Row.

J'ai effectué différentes manipulations par f8 et j'en ai conclut que Date dans "Format(Date, "dd-mm-yyyy")" renvoie la date du jour et non pas la date inscrite dans la dernière case de la colonne AD quelque soit le format qu'on lui donne.

Encore merci et à bientôt.
 

Pièces jointes

  • Calendwp.xlsm
    243.6 KB · Affichages: 39
  • Calendwp.xlsm
    243.6 KB · Affichages: 46
  • Calendwp.xlsm
    243.6 KB · Affichages: 53
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Inscrre une date depuis un calendrier dans un tableau.

Re,

J'ai effectué différentes manipulations par f8 et j'en ai conclut que Date dans "Format(Date, "dd-mm-yyyy")" renvoie la date du jour et non pas la date inscrite dans la dernière case de la colonne AD quelque soit le format qu'on lui donne.

Oui, comme je le dis plus haut, Date est une fonction de VBE, donnant la date du jour, mais il suffit de mettre un autre nom de variable comme Dat, si tu mets :
Dat = Format([AD65536].End(xlUp), "dd-mm-yyyy")

ça doit le faire, non :confused:

A+
 

Discussions similaires