Probleme sous excel

Lala -  
 amigo -
Bonjour,
je sui larissa, je découvré votre site et il est vraiment primordial pour aider lew gens en difficulté !!
Aujrdui j'ai moi meme un petit probleme que j'espere que vous pourriez le résoudre !!!

Alr je suis sous excel, et je dois automatiser mon tableau de données a partir de la date cad qu'a chaque changement de mois, on doi prendre en compt les jours etc...ceci est réglé enfin je crois mais mon probleme est d'initilaiser des cases précises de mon tableau et je bloque vraiment la dessus !!!

Encor merci d'avance !!!
A voir également:

74 réponses

amigo
 
Qu'est ce que tu as fait?, je ne vois rien.

Il faut copier le lien qui est donné quand tu dépose ton fichier, c'est ce qui permet de le retouver.
Si tu as ce lien, il faut le copier ici, sinon à refaire.

A+.
0
Lala
 
Ouuuuups disoulé zavé oubliette ben wala le lien :

http://www.cijoint.fr/cjlink.php?file=cj200806/cijsxIr87Q.xls.
0
amigo
 
J'ai le fichier,

Il y a des "x" marqués dans le tableau, faut-il les laisser?

A+.
0
Lala
 
Nan justement kan on le rafraichit ils doivent disparaitrte !!!
0

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

Posez votre question
amigo
 
J'ai refait la procédure rafraichissement.

Mais il y a un problème dans ton tableau, il y a des jour à 3 colonnes JJN, des lours à 2 colonnes JN et des jours à une colonnes. Quand tu va changer de mois, tout sera décalé, aussi bien tu aura un dimanche à 3 colonnes et un lundi à 1 colonne. Donc tu auras à tout refaire à la main. Il faut absolument que les jours ait le meme nombre de colonnes au départ.

Apres tu peux en masquer certaines qui ne servent pas.
On peut automatiser, mais il faut une logique, par exemple tous les jundis ont 3 colonnes JJN, les mardis 1 colonne N ...

Est ce j'ai bien compris, ou alors c'est au cas par cas.

Je pourrais revoir ton tableau si j'ai un peu de temps, sinon je te donne juste la macro Rafraichissement.

Qu'en penses tu?
0
Lala
 
Rebjr,

alors effectivement le nb de cases doit tj correspondre cad ke le dimanch il a 1 case, le luindi en a 3 etc...et ce tj pareil pr chaque mois ca doit pas changer !!!

Je viens de me rendre compt d'un oubli que mon ami m'a fait part, c'est que en fait on doit garder une trace du mois précédent et en fait, qd on change de mois, il faut créer une nvl page avec le rafraichissement etc, je pense que la il y a une redirection a faire mais je ne sais pas !!!
0
amigo
 
Bonjour,

J'ai analysé ton tableau, et la conclusion est que pour automatiser la mise à jour, il faut revoir pas mal de choses.
Je te proposerai une nouvelle trame. En attendant, reprend le tableau de Mai 2008.
Il faut supprimer la macro Workbook_open().

Voici la nouvelle macro Raffraichissement pour vider le tableau et remettre les bonne couleurs. Il faut l'executer manuellement.
Sub Rafraichissement()

Dim deb As Integer, lig As Integer, col As Integer
Dim i As Integer, couleur As Integer
    Range("A1").Select
    Cells.Find(What:="H. sup", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
    col = ActiveCell.Column
    Range("A1").Select
    Cells.Find(What:="NOM", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
    deb = ActiveCell.Row + 4
    Range("A1").Select
    Cells.Find(What:="Heure de fin", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
    lig = ActiveCell.Row - 2
   
For i = deb To lig
     Cells(i, 1).Select
     couleur = Selection.Interior.ColorIndex
     Range(Cells(i, 1), Cells(i, col)).Select
     Selection.Interior.ColorIndex = couleur
Next
     Range(Cells(7, 3), Cells(lig, col)).Select
     Selection.Interior.Pattern = xlSolid
     Selection.ClearContents
     Cells(deb, 3).Select
End Sub

A+.
0
Lala
 
Rah mais la par contre c'est pas bon du tout parce que j'ai fait la meme chose pour le mois de juin et il m'efface toutes les cellules lun, mar,... et 1, 2, 3,.....!!!
0
amigo
 
Re,

Oui, j'ai oublié de parametrer la première cellule du tableau
Faire la correction à la fin de la macro
     Range(Cells(deb, 3), Cells(lig, col)).Select
     Selection.Interior.Pattern = xlSolid
     Selection.ClearContents
     Cells(deb, 3).Select
End Sub

J'espère que tu fais les tests sur une copie.

A+.
0
lala
 
Re,

oui oui, j'ai prise le soin d'en faire une copie afin d'y apporter les nouvelles modif' pr voir ce que cela a comm effet !!!

Mais mise a part peut etre d'une erreur de ma part cela donne tj la mm chose, il m'efface tj mes cases de date lun.... et 1..... !!!
0
lala
 
J'ai fait quelques petits réglages et tout est okay, il ne me reste maintenant que 2 choses a faire :

_ faire correspondre les cases avec les colonnes kan on change de moi

_ et savoir comment apporter les éléments de la page précédente a celle qui a été créé tout en prenant en compte les modifications !!!
0
lala
 
euuuuuuh amigo t'es toujours la ?
0
lala
 
Alors j'ai tout fait, mais un dernier probleme persiste c'est justement cette correspondance des colonnes que je n'arrive pas du tout a trouver de fonction qui correspondent !!!
0
amigo
 
Bonjour,

ça m'a pris un peu de temps, mais j'ai fini la maquette.

http://www.cijoint.fr/cjlink.php?file=cj200806/cijtXpfQE3.xls

Clic droit sur toto.xls et enregistrer la cible

Le calendrier se présente sur 6 semaines
Le mois en cours s'affiche en partie sur la première semaine ,puis sur les 4 suivantes et en partie sur la semaine 6, en fonction du premier jour du mois.

Une fois le mois initialisé, la partie inutilisée peut-etre masquée.

Le module comporte 4 procédures:

Copier_feuille
Cette procédure fait une copie de la feuille active et passe au mois suivant.
Les couleurs sont réinitialisées suivant la couleur de la première cellule de chaque ligne
Le tableau est vidé de son contenu
Apres avoir vérifié que tout bon, il faut executer la procédure Masquer_colonnes pour masquer jours qui n'appartiennent pas au mois courant

Masquer_colonnes
Les jours qui n'appartiennent pas au mois courant sont masqués

Afficher colonnes
Le calendrier est recalculé suivant la date en "B3" et tout le tableau est affiché

Effacer_tableau
Apres confirmation, le tableau est réinitialisé, couleurs et contenu.

ATTENTION!!
Il y a deux cellules qui définissent la taille du tableau
- la cellule "A7" qui contient *debut*
- la cellule "BT47" qui contient *fin*
Le texte ne se voit pas, il ne faut en aucun cas les modifier ou supprimer

Certaines cellules son écrites en rouge, ça veut dire que:
- ces cellules n'ont pas de formule donc il faut les renseigner manuellement
- ces cellules ont des formules qui doivent etre adaptées au cas par cas
- ces cellules ont des valeurs qui ne sont pas effacées automatiquement et risquent de perturber les calculs

Voilà pour le moment.
Fait des essais et si ça te convient, je ferai la macro qui crée automatiquement une nouvelle feuille à chaque mois.

Salut et bon week end.
0
lala
 
Alors les procédures marchent à la perfection, vraiment un grand merci d'y avoir accordé un peu de ton temps c'est très gentil, mais il y a un détail que j'ai ormis de te préciser, c'est qu'il ne faut plus que le tableau de gauche figure, donc moi j'ai revu toutes les fonctioncs et tout mais il y a un petit probleme c'est par exemple, je prends le cas de la cellule "NB Jour de travail", alors pour pouvoir avoir le résultat il faut taper :

=NBVAL(B8:BM8)

mais dès lors que je sélectionne une case il est censé m'afficher "1" dans la case correspondante mais il ne m'affiche rien
0
lala
 
Mais bon on verra ca la semaine prochaine si tu n'y voit pas d'inconvénient en tout cas encore merci pour ton aide ca m'a été d'un énooooorme secours miciiii !!!
0
amigo
 
Re,

En ce qui concerne le tableau de droite, rien ne t'empèche de le masquer si tu ne veux plus qu'il apparaisse, ça fonctionnera tout aussi bien.

Et pour ta fonction =NBVAL(B8:BM8) , sur mon tableau ça serait plutôt =NBVAL(F8:BM8) et ça marche bien.
Dès que je coche une case le resutat augmente de 1.

De toutes façons, si tu remanie ton tableau, il faut partir sur le même principe, affichage sur 6 semaines, et le mois en cours qui se déplace dans cet intervalle. Sinon je ne vois pas comment l' automatiser. De plus, les formules doivent tenir compte de ça, je pense à la fonction NBVAL() qui renvoie 1 même quand la cellule contient une formule avec un resultat vide "".

Salut.
0
lala
 
OUah lool j'me suis rendue compte de mon erreur mais tu vois quand je veux sélectionnéechaque case N de la cellule "NB heures nuit" ben il m'indique qu'il y a trop de valeurs saisies, ca par cntr ca me pose vraiment probleme parce que aussi j'ai essayé de fr une préselection cad : "=somme.si(f7:bm7;"=N") rah ben il me retourne rien dans ma case après la !!!
0
lala
 
alr dison ke je cache simplement la feuille c'est etre assez maline en fait ca me facilite un peu le travail c vré hihi !!!

la je viens de remarquer une chose c'est que qd je lance la procédure "effacer_tableau" beeeeh il m'efface aussi ma colonne "NB jour de travail du cp je dois a chaque fois retaper la formule !!!
Dans ce cas qu'est-ce que je dius faire ?
0
amigo
 
re,

dans la procédure Effacer_tableau, tout à la fin, mettre c_fin - 7 à la place de c_fin - 6
     Range(Cells(l_deb + 1, c_deb + 2), Cells(l_fin - 1, c_fin - 7)).Select
     Selection.ClearContents

En plus juste après, il y a écrit Private initialise_mois()
Chez moi, avec la version 2003, le VBA rejette, il veut Private Sub initialise_mois()
Mais cette procédure ne sert pas, je l'avais laissé à tout hasard. Si à plante chez toi, tu sauras quoi faire.

Dis moi si tu as as réglé les problèmes de formules et si on peut continuer le développement.

A+.
0