Calcul de dates

Résolu
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015 - 11 janv. 2015 à 22:13
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 14 janv. 2015 à 01:12
Bonjour,

J'ai un petit problème (je suis sur excel 2007). j'ai une plage de cellule (b6 à b36) qui me donne les dates de chaque jour du mois au format (lun. 01/01/15).Mon souci est d'arriver a afficher le numéro de la semaine correspondante en face sur la plage de cellule (a6 à a36).
ensuite mon deuxième souci est: lorsque je change la date en b6 toutes les autres se corrigent (pas de souci), mais bien sur les numéros de semaine change.

Pouvez vous m'aidez pour construire cette macro, merci par avance


--

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par Whismeril le 28/01/2015 à 22:35
Bonjour,
Il te suffit d'utiliser dans une formule la fonction No.SEMAINE d'excel. ( ex : =NO.SEMAINE(A4) )

Et su tu tiens a le faire par code VBA ===>>> exemple :
numsemaine = Format(Range("B2"), "ww", , vbFirstFourDays)



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 janv. 2015 à 22:56
Je te précise que la formule ne retourne pas un N° collant parfaitement à la norme européenne.
Le code VBA (qui permet, lui, la précision "vbFirstFourDays"), colle parfaitement à cette norme.
Si tu veux utiliser ce code en formule, fais-en donc une fonction personnalisée 'à mettre dans un module)
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 12/01/2015 à 22:33
Mon aide s'arrête là (à la réponse à ta question, telle que posée par ton message d'ouverture de cette discussion).
Je te rappelle la règle de ce forum : une question technique, spécifique et( parfaitement isolée par discussion.

PS : je ne veux toutefois pas quitter cette discussion sans appeler ton attention sur un dernier point concernant la détermination d'une semaine correspondant à une date.
Une date d'une année x peut parfaitement correspondre à une semaine d'une année y (relire la norme européenne à ce sujet).

Ainsi, par exemple : le 1er janvier 2011 correspond à la 52ème semaine de l'année 2010 et non à une semaine de 2011.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 13/01/2015 à 21:07
Bon ...
je vais t'aider un peu plus :
Regarde ce que fait ceci :
Dans un classeur vierge :
Dans un module : cette fonction personnalisée :
Public Function numsemaine(cellule As Range) As Integer
numsemaine = Format(cellule, "ww", , vbFirstFourDays)
End Function


Sur la feuille Feuil1 :
Formate en standard les cellules A1 et B1
Formate en standard toute la colonne A
Formate en date les cellules B2 à B33 (du format date de ton choix)
En A2 : cette formule : =SI(B2<>"";numsemaine(B2);"")
Etire cette formule jusqu'à la ligne 33 (jusqu'en A33, donc)
En B2 : cette formule : =DATE(A1;B1;1)
En B3 cette formule : =SI(B2<FIN.MOIS($B$2;0);B2+1;"")
Etire cette formule jusqu'à la ligne 33 (jusqu'en cellule B33, donc)
Frappe maintenant une année en A1 et un N° de mois en B1 ===>> regarde ce qui se passe.

Voilà pour ta question d'origine. Je te laisse ensuite régler comme tu l'entends ton affaire de fusion de cellules (autre sujet)/.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
14 janv. 2015 à 01:12
Pas de quoi.
Il convient de libérer maintenant cette discussion (un clic sur le tag RESOLU au niveau de ton premier message).

Pour ton affaire de fusion : va au plus simple ===>> ajoute une colonne d' "affichage" (et fais-y tes fusions et défusions). Affiche dans cette colonne ce que tu veux et comme tu le veux en te servant des données calculées qui, elles, se trouvent dans leur colonne réelle, que tu masques ou dont tu mets la largeur à 0 (à ton choix).

1
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
12 janv. 2015 à 21:54
Merci pour ton aide, cela m'a permis d'avancer et d'avoir des indications pour orienter mes recherches, mais j'ai un peu de mal a la mettre en application, en fait je veux que les cellules b6 à b36 me donnent toutes les dates du mois (pour cela pas de problème). en face la plage de cellule a6 à a36 me donne le numéro de la semaine en fusionnant les cellules de la semaine concernées du lundi au dimanche. Ensuite je voudrais qu'en modifiant une cellule a1 dans une autre feuille cela modifie la valeur des cellules b6 a b36, et donc modifierait les cellules a6 à a36 en les défusionnants et en les refusionnant avec le bon numéro de semaine correspondant (du lundi au dimanche).
Je sais mon projet est un peu farfelu.
Merci par avance pour votre aide qui m'aident beaucoups dans mes recherches.


--
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
12 janv. 2015 à 22:43
Merci pour ton aide, cela m'a permis de savoir ou chercher, et comment orienter mes recherches pour finaliser mon projet. Merci encore.

--
0
cs_Franck93150 Messages postés 31 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 17 février 2015
Modifié par cs_Franck93150 le 13/01/2015 à 23:20
Je te remercie vraiment, je ne m'y attendais pas, en continuant mes recherches sur internet et différents supports (livres, .....) et différents conseils, je suis retourné sur le forum essayer de trouver des pistes pour pouvoir avancer dans mon projet.

j'ai vu qu'il y avait un message, et suis allé voir. Je ne m'y attendais pas du tout et vraiment je te remercie beaucoups.

Je l'ai essayer et cela fonctionne à merveille, il me reste a l'adapter à mon projet. c'est vraiment super. encore merci.

En fait ce projet et un fichier que je veux créer pour mon travail, afin de pouvoir faire un suivie des encaissements et des décaissements, un suivie sur les arretés comptables, les chargements/déchargements, l'encaisse DAB, ... de distributeurs automatiques à billets, .....

J'ai réussis à régler le problème des jours fériés par rapport au fonctionnements d'un DAB, il me restait ce problème de gestion des numéros de semaine, que je voulais automatiser en changeant la date (01/01/15) sur une feuille, toutes les dates et numéros de semaine s'actualiseraient sur une autre feuille, feuille dans laquelle je pourraient rentrer mes données. Ainsi il y aurais un fichier pour chaque mois, et en début de mois je rentrerait la date et tous s'actualiserait ensuite.

Voila sur quoi porte mon projet.

Pour le problème de fusion des cellules j'ai trouver la fonction merge qui fonctionne très bien, et le fonction unmerge qui fonctionne très bien, le seul souci c'est que quand je défusionne les cellules (par exemple a1 à a33) seule la cellule a1 récupère la valeur, les autres cellules a2 à a33 perdent leurs valeurs.

Petit à petit j'avance, et je te remercie vraiment pour ton aide.



--
0
Rejoignez-nous