date separateur

L

lostgen67

Guest
Bonjour le forum......
A nouveau message nouveau probléme
Voila j 'aurai voulu savoir comment mettre dans la 1ere colonne d'1 feuille x toute les jours de l'année y..... ca sembe facile....mais je bloque sur les mois...j'ai glané des infos a gauche et a droite , fait une soupe de tout ce que je trouvais... et ca marche po trop
les formules conditionnelles ne m'interesse pas car je voudrais generer des feuilles a l'avenir... donc please en VBA
PS: j'ai essayé avec 2 boucles : for j = 1 to 12 et for m = 1 to nbjourparmois

2 éme point noir .
J'avais trouvé un petit truc alors que je cherchais autre chose pour récuperer des infos d'une cellule séparer par un ' ' ou un '/'.... mais je n'arrive plus a mettre le doigt dessus (historique supprimé ....because que j'avais trouvé cela au boulot ).. :whistle:
Quelqu'un peut me dire comment on fait ou ou cela se trouve ?
le but étant de récuperer plusieurs prénom dans une cellule..

voila ...je pense po que vous ayez besoin d'un fichier joint !!!
merci d'avance
 

Celeda

XLDnaute Barbatruc
Bonsoir,


deux questions différentes te permettaient de générer deux posts différents sans problème

alors dans la famille des jours,dates, et année,....



si 'mettre dans la 1ere colonne d'1 feuille x toute les jours de
l'année' ok je comprends

ensuite
'je bloque sur les mois'.

ok on peut le faire

mais le

'je voudrais generer des feuilles a l'avenir...'

yé comprend plus ! tu veux générer quoi comme feuille si tu généres tes mois sur une feuille, euh peux-tu être un peu plus explicit, svp ?

des feuilles années ?

et en vba,

donc pour le fun je te décante, car en formules on pourrait essayer de le faire mais puisque monsieur vba est demandé !!!!! :) :) :) :)

et d'ailleurs pourquoi en vba ?

Celeda




:) :) :) :)
 
L

lostgen67

Guest
Salut Celeda...
Bon ben je viens de comprendre que j'etais nul en explication... :eek:

j'essai d'apprendre le vba en me lancant des challenges...il est vrai que j'arrive a le faire en formules conditionnelles ...mais le but etant de progresser, je persiste sur le vba.

Je réalise un planning de bar.... ( connais bien le patron .... eh puis il est fort sympa....et la main lourde sur les doses...hic....)
donc je veux generer une feuille '2005' pour l'instant car il y aura une feuille '2006'...etc ( je compte meme lexporter vers un fichier a part pour ne pas alourdir le programme de base )


Pour ma defense le prgms de base fait deja 480ko....
car je gere des bases de noms et de conges etc...

Suis je plus explicite ???? ;)

et pour la 2 eme question tu en sais quelquechose ?

merci a toi
 
L

lostgen67

Guest
Bonjour....
J'ai fini de bidouiller et maintenat ca marche...donc voici le résultat
pour ceux que cela interesse ...

Good luck

Dim i As Integer
Dim Jour As String
Dim datetraitée As String
Dim UneDate As String
Dim a As String
Dim b As String
Dim d As String

m = 1
c = 0
i = 1

UneDate = CStr(i) & ' ' & m & ' ' & CStr(année)
NbJourMoisCourant = Day(DateSerial(Year(UneDate), Month(UneDate) + 1, 0))
For m = 1 To 12
datetraitée = 1 & ' ' & m & ' ' & CStr(année)
NbJourMoisCourant = Day(DateSerial(Year(datetraitée), Month(datetraitée) + 1, 0))
For i = 1 To NbJourMoisCourant
datetraitée = CStr(i) & ' ' & m & ' ' & CStr(année)
c = c + 1
Jour = Format$(DateValue(datetraitée), 'dddd')
b = Format$(datetraitée, 'dd')
a = Format$(datetraitée, 'dddd')
d = Format$(datetraitée, 'mmm yyyy')
edtJour = a & '' & b & ' ' & d
ActiveCell.Offset(c, 0).Value = edtJour
If Jour = 'dimanche' Or Jour = 'samedi' Then
With ActiveCell
.Offset(c, 0).Interior.ColorIndex = 33
End With
End If
Next
Next
End Sub
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Tiens si tu veux une macro un peu plus courte


Sub toto()

Dim monannee As Integer, x As Integer, y As Integer
Dim madate As Date

monannee = InputBox('annee ?')
y = DateDiff('d', '01/01/' & monannee, '01/01/' & monannee + 1)
madate = '31/12/' & monannee - 1
For x = 1 To y
Range('A' & x) = DateAdd('d', x, madate)
If Weekday(DateAdd('d', x, madate), vbMonday) = 6 Or Weekday(DateAdd('d', x, madate), vbMonday) = 7 Then Range('A' & x).Interior.ColorIndex = 33
Next

End Sub

Pour ta 2ème question tu peux préciser exactement ce que tu désires STP

Bon courage
 
L

lostgen67

Guest
merci et bonjour pascal 76

Voila je suis tombé sur un post un jour , mais cela ne m'interesser pas a ce moment , ou on expliquer comment mettre dans une cellule plusieurs noms ,prenoms etc..... et surtout pouvoir les récuperer ou les effacer grace a un separateur ou un ' '.
mais je ne le retrouve pas...

Mon but etant de mettre a la croisée d'un jour (lignes)et d'une plage horaire (colonnes) les personnes qui vont y travailler.
Vu que j'anticipe le planning pour l'année il risque a certain moment de changer ....donc j'aurai besoin d'extraire un 'prenom' parmis les noms d'une cellule....cause conges ...absence...etc...

Au moment ou je t'ecris je vois un autre probléme .....comment faire la même chose mais sur une plage selectionner ?
je m'explique, avant je cibler une cellule , mais si je veux supprimer un 'prenom' sur X semaines ou jours ?

Merci de ton aide....
N'hesite pas a m'orienter vers quelquechose de semblable..
 

Statistiques des forums

Discussions
312 514
Messages
2 089 216
Membres
104 066
dernier inscrit
il matador