[RESOLU] Transfert valeurs Texbox dans tableau en fonction de la date

maninwhite

XLDnaute Occasionnel
Bonjour à toutes et à tous.

J'ai un formulaire rempli par plusieurs personnes pour lequelle les résultats sont affichés dans des cellules grâçe au code ci dessous :

Code:
'Remplir colonne ok"
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1
Range("B4") = Range("B4") + ComboBox_comportement_ok_admin2
Range("B5") = Range("B5") + ComboBox_comportement_ok_admin3
Range("B6") = Range("B6") + ComboBox_comportement_ok_admin4
Range("B7") = Range("B7") + ComboBox_comportement_ok_admin5
Range("B8") = Range("B8") + ComboBox_comportement_ok_admin6
Range("B9") = Range("B9") + ComboBox_comportement_ok_admin7
Range("B10") = Range("B10") + ComboBox_comportement_ok_admin8

Les cellules correspondent à un tableau pour le mois de Novembre.

Comment faire pour qu'en fonction de la date les résultats soient entrés dans Novembtre, Décembre, Janvier...?

Si aujourd'hui nous sommes le 01/11/10 alors
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/12/10 alors
Range("C3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/01/11 alors
Range("D3") = Range("B3") + ComboBox_comportement_ok_admin1

Sachant que je peux récupérer une date exprimée en semaine dans un Texbox.

Merci
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Bonjour,

quelque chose doit m'échapper, pas de différence entre le 1er novembre 2010 et le 1er janvier 2011...

Si aujourd'hui nous sommes le 01/11/10 alors
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/12/10 alors
Range("C3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/01/11 alors
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1

peut être un petit fichier avec résultat attendu serait plus facile pour t'aider...

bonne journée
@+
 

maninwhite

XLDnaute Occasionnel
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Oui, pardon, c'est une erreur de saisie de ma aprt

Code:
Si aujourd'hui nous sommes le 01/11/10 alors
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/12/10 alors
Range("C3") = Range("B3") + ComboBox_comportement_ok_admin1

Si aujourd'hui nous sommes le 01/01/11 alors
Range("D3") = Range("D3") + ComboBox_comportement_ok_admin1
 

Odesta

XLDnaute Impliqué
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Bonjour

Sans fichier, c'est un peu dur à comprendre.

mais je vous conseillerai de récupérre le mois en cours à l'aide de fonction
et avec la variable obtnue, trouver la bonne colonne.

Une méthode simple pour travailler sur une cellule à l'aide de ses coordonnées :

VB:
for i = 3 to 10
Cells(i, colonne).value = Cells(i, 2).value+ ComboBox_comportement_ok_admin1

next


Merci de mettre le fichier pour plus d'informations

Cdt
Olivier
 

maninwhite

XLDnaute Occasionnel
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Ci joint un fichier

A l'heure actuelle, les données vont là où je leur dit d'aller, sans conditions grâçe au code ci dessous
Elles vont donc en B C et D quelque soit la date donc dans les colonnes de Novembre.
Le but est de rentrer les valeurs en fonction de la date, c'est à dire si nous sommes au moins de Décembre, les valeurs iront dans els colonnes de Décembre.

Merci

Code:
'Transfert des valeurs des ComboBoxs dans tableau

'Sélectionner feuille BOS_administration
Sheets("BOS_Administration").Select

'Remplir colonne ok"
Range("B3") = Range("B3") + ComboBox_comportement_ok_admin1
Range("B4") = Range("B4") + ComboBox_comportement_ok_admin2
Range("B5") = Range("B5") + ComboBox_comportement_ok_admin3
Range("B6") = Range("B6") + ComboBox_comportement_ok_admin4
Range("B7") = Range("B7") + ComboBox_comportement_ok_admin5
Range("B8") = Range("B8") + ComboBox_comportement_ok_admin6
Range("B9") = Range("B9") + ComboBox_comportement_ok_admin7
Range("B10") = Range("B10") + ComboBox_comportement_ok_admin8

'Remplir colonne nok
Range("C3") = Range("C3") + ComboBox_comportement_nok_admin1
Range("C4") = Range("C4") + ComboBox_comportement_nok_admin2
Range("C5") = Range("C5") + ComboBox_comportement_nok_admin3
Range("C6") = Range("C6") + ComboBox_comportement_nok_admin4
Range("C7") = Range("C7") + ComboBox_comportement_nok_admin5
Range("C8") = Range("C8") + ComboBox_comportement_nok_admin6
Range("C9") = Range("C9") + ComboBox_comportement_nok_admin7
Range("C10") = Range("C10") + ComboBox_comportement_nok_admin8

'Remplir colonne feedback
Range("D3") = Range("D3") + ComboBox_feedback_donne_admin1
Range("D4") = Range("D4") + ComboBox_feedback_donne_admin2
Range("D5") = Range("D5") + ComboBox_feedback_donne_admin3
Range("D6") = Range("D6") + ComboBox_feedback_donne_admin4
Range("D7") = Range("D7") + ComboBox_feedback_donne_admin5
Range("D8") = Range("D8") + ComboBox_feedback_donne_admin6
Range("D9") = Range("D9") + ComboBox_feedback_donne_admin7
Range("D10") = Range("D10") + ComboBox_feedback_donne_admin8
 

Pièces jointes

  • Book1.xlsx
    8.5 KB · Affichages: 66
  • Book1.xlsx
    8.5 KB · Affichages: 64
  • Book1.xlsx
    8.5 KB · Affichages: 74

Odesta

XLDnaute Impliqué
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Comme ceci ?

VB:
'Transfert des valeurs des ComboBoxs dans tableau

'Sélectionner feuille BOS_administration
Sheets("BOS_Administration").Select

'Calcul de la colonne
mois_actuel = Month(Now + 30) '+30 pour simuler le fait d'être en novembre
annee_actuelle = Year(Now + 30)
col_ann = (2010 - annee_actuelle) * 3 * 12 - 11 * 3 + 2
'(pour le décalage pour les années futures : 12*3)
'(11 mois fois 3 colonnes pour chaque mois, plus deux pour le décalage (car on commence en Novembre 2010))

col_mois = col_ann + 3 * mois_actuel

'Remplir colonne ok"
Cells(3, col_mois) = Cells(3, col_mois) + ComboBox_comportement_ok_admin1
Cells(4, col_mois) = Cells(4, col_mois) + ComboBox_comportement_ok_admin2


'Remplir colonne nok
Cells(3, col_mois + 1) = Cells(3, col_mois + 1) + ComboBox_comportement_nok_admin1
Cells(4, col_mois + 1) = Cells(4, col_mois + 1) + ComboBox_comportement_nok_admin2


'Remplir colonne feedback
Cells(3, col_mois + 2) = Cells(3, col_mois + 2) + ComboBox_feedback_donne_admin1
 

maninwhite

XLDnaute Occasionnel
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Intéressant, mais pourrais tu écrire la formule en partant du principe que l'on demarre au mois en cours c a d Octobre.

Pourquoi?
Code:
col_ann = (2010 - annee_actuelle) * 3 * 12 - 11 * 3 + 2

La formule doit être valable pour toutes les années, dans ce cas présent 2010-2011 car on travaille par année fiscale et non pas ciivile.

Merci bcps ;)
 

Odesta

XLDnaute Impliqué
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Je n'ai pas compris ce qui ne va pas ?
Dans le tableau joint, tu commences bien à Novembre 2010 ?
En colonne 2.

Pour que le programme trouve de lui même la bonne colonne, il utilise l'instruction Now qui renvoie la date actuelle.

J'ai simplement ajouter +30 qu'il faudra supprimer, car sinon, la colonne renvoyé serait la colonne -1 => BUG.

Si tu ne souhaite pas travailler à l'aid ede l'instruction NOW, tu peux par exemple, utiliser une date qui serai écrite en dure sur le fichier, par l'utilisateur, et récupérer cette date à l'aide du programme Month(Range("A1").Value)


Est-ce assez clair ?
Olivier
 

maninwhite

XLDnaute Occasionnel
Re : [RESOLU] Transfert valeurs Texbox dans tableau en fonction de la date

Petite question

A présent j'ai ajouté une colonne donc je suis à 4 et je vais de Juin 2010 à Mai 2010.

J'ai remplacé le code existent par
En rouge les modifs

Code:
mois_actuel = Month(Now)
annee_actuelle = Year(Now)
col_ann = (2010 - annee_actuelle) * [COLOR="Red"]4[/COLOR] * 12 - 11 * [COLOR="red"]4[/COLOR] + 1
col_mois = col_ann + [COLOR="red"]4[/COLOR] * mois_actuel

Cela ne marche pas, je pense que j'ai mal compris le code, merci:D
 

Odesta

XLDnaute Impliqué
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Bonjour

Posez un points d'arret sur la ligne :
col_ann = (2010 - annee_actuelle) * 4 * 12 - 11 * 4 + 1
et un espion sur le col-ann, dites moi quel valeur il prend svp

Si vous commencez à Juin, c'est logique que cela ne fonctionne pas, puisque le 11 * 3 représente novembre (11)

Pour plus d'info il va me falloir le fichier.

Olivier
 

maninwhite

XLDnaute Occasionnel
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Alors ci dessous le code, je m'explique

mois_actuel = Month(Now)
annee_actuelle = Year(Now)
col_ann = (2010 - annee_actuelle) * 3 * 12 - 6 * 4 + 2
col_mois = col_ann + 4 * mois_actuel

Avec ce code cela fonctionne parfaitement à partir du moment où je reste en 2010, une fois en 2011 ça bug.

mois_actuel = Month(Now)
Pour obtenir le mois actuel

annee_actuelle = Year(Now)
Pour obtenir l'année actuelle

(2010 - annee_actuelle)
Je ne comprend pas

* 3 * 12
Pour le décallage des années mais pourqoi? A cause des années bissextiles?

-6
Car mon tableau comment en Juin

* 4
4 colonnes pour chaque mois

+2
C'était pour le décallage car mon ancien tableau commençait à Novembre et même maintenant ça marche? Pourquoi?

col_mois = col_ann + 4 * mois_actuel
J'ai mis +4 avant j'avais plus 3 je sais aps trop pourquoi j'ai changé lol.

Merci pour toutes les explications et m'aider à corriger le bug de l'année
 

Odesta

XLDnaute Impliqué
Re : Transfert valeurs Texbox dans tableau en fonction de la date

Je me rend compte qu'il y a une erreur (je n'ai pas du tester correctement)

col_ann = (annee_actuelle - 2010) * 4 * 12 - 6 * 4 + 2

(annee_actuelle - 2010) * 4 * 12 (si on change d'année, on décale de 12 mois x 3 colonnes
- 6 * 4 Le tableau commence en juin (et non en janvier) donc retrait
+ 2 Les colonnes de mois ne commencent qu'à partir de la colonne n°2 (il peut éventuellement y avoir à faire des ajustements)


Pour allez plus loin, il va me falloir le fichier et le programme (rendu annonyme)

Cdt
Olivier
 

Discussions similaires

Statistiques des forums

Discussions
312 749
Messages
2 091 628
Membres
105 009
dernier inscrit
aurelien76110