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 !!!
Configuration: Windows XP
Internet Explorer 6.0

74 réponses

  • 1
  • 2
  • 3
  • 4
Résumé de la discussion

L'enjeu est d'automatiser un tableau Excel au passage d'un mois et d'initialiser certaines cellules précises tout en garantissant que les formules et les mises en couleur restent cohérentes. Des solutions essentielles évoquent l'adaptation des plages utilisées par NBVAL (par exemple NBVAL(F8:BM8) plutôt que NBVAL(B8:BM8)) et la vérification de la cellule nommée « formule » ou son remplacement par une adresse précise. Pour le volet réinitialisation mensuelle, il convient de vider les cases cochées et de restaurer les couleurs d'origine, tout en conservant l'affichage sur six semaines et le déplacement du mois en cours.

Bobot (l'IA à votre service)
  1. amigo
     
    Bonjour,

    Quel est exactement le problème, ça ne marche pas, ou bien tu ne sais pas comment faire. Essaie d'etre plus précis.

    A+.
    0
  2. Lala
     
    Alors hier je me suis rendue compte de mon erreur, la date est un véritable problem car g assigné chaque jour a la date cad, j'ai mon tableau

    par ex:
    1/6/2008 dim lun mar mer jeu.......
    1 2 3 4 5.....

    et jai mis la fonction "=AUJOURDHUI()", et cela donne

    2/6/2008 mar mer jeu ven sam.......
    1 2 3 4 5.....

    mais ce n'est pas du tout ce que je veux en au final je dois avoir qu'un changemnt de date que lorsque l'on change de mois cad :
    1/6/2008 dim lun mar mer jeu.......
    1 2 3 4 5.....
    après changement de mois:
    1/7/2008 mar mer jeu ven sam.......
    1 2 3 4 5.....

    et 2e probleme : en dessou de ces dates justement j'ai des cases a cocher mais qui doivent etre initialiser a chaque nouveau mois mais on le verra eventuellement plus tard !!!

    Walaaaaa, j'espere avoir été assez comprehensive et encore miciii ^^ !!!
    0
  3. Lala
     
    J'ai commencé a réfléchir à mon 2e probleme, je dois taper du code sous visual basic en fait créer une macro qui remplace le caractere 'x' de chaque case de ma plage que j'aurais au préalable sélectionnée par un "" !!! Et au niveau du code je bloque un peu s'il est possible que vous m'aidiez !!!
    0
  4. amigo
     
    Bonjour,

    Si j'ai bien compris, c'est une sorte de calendrier que tu veux faire.
    En A1 tu tapes la date manuellement (exemple 01/06/2008)
    De B1 à AF1 c'est le nom du jour automatiquement (dim,lun,mar,...)
    De B2 à AF2 c'est le numéro du jour (01,02,03,...)

    C'est bien ça?

    Si OUI, je peux t'indiquer les formules et les formats des dates à utiliser.

    Si NON, reformule ta question.

    A+.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lala
     
    en fait voila, j'ai crée un calendrier pour le mois de juin et ensuitej'ai besoin de 2 choses :

    _seulement quand on arrive au mois de juillet et ainsi de suite, que le calendrier se mette a jour

    _aussi je dois initialiser les cases de mon calendrier sur une plage bien précise, pour cela je pense qu'il faut une macro mais j'en susi pas sure !!!
    0
  7. amigo
     
    re,

    Voici les formules à mettre dans ton tableau

    La date change automatiquement chaque mois
    cellule A1
    Formule : =DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());1)
    Format personnalisé : date "jj/mm/aaa"

    Le nom du jour change automatiquement
    cellule B1
    Formule : =A1
    Format personnalisé : date "jjj"

    cellules B1 à AC1
    Formule : =SI(JOUR(B2+1)<JOUR(B2);"";B1+1)
    Format personnalisé : date "jjj"

    cellules AD1 à AF1
    Formule : =SI(AE1="";"";SI(JOUR(AE2+1)<JOUR(AE2);"";AE1+1))
    Format personnalisé : date "jjj"

    Le numéro du jour change automatiquement (seul le format change)
    cellule B2
    Formule : =A1
    Format personnalisé : date "jj"

    cellules B2 à AC2
    Formule : =SI(JOUR(B2+1)<JOUR(B2);"";B1+1)
    Format personnalisé : date "jj"

    cellules AD2 à AF2
    Formule : =SI(AE1="";"";SI(JOUR(AE2+1)<JOUR(AE2);"";AE1+1))
    Format personnalisé : date "jj"

    Si ça marche, on verra pour la suite.

    A+.
    0
  8. Lala
     
    RE,

    hey merci bcp bcp bcp amigo, j'ai fait les tests et cela marche à la perfection encore merci.

    Ben si tu veux bien on peux toujours résoudre mon 2e probleme, je te réexplique le principe :

    alors lorsque l'on passe au mois suivant, je dois avoir une sorte de rafraichissement de la page cad 2 choses :

    _ les cases cochées doivent etre vides

    _ les cases coloriées doivent retrouvées la meme couleur d'origine car dans mon tableau j'ai des cases de plusieurs couleurs en fait.

    ^^merci d'avance !!!
    0
  9. amigo
     
    Ok,

    Pour le deuxième problème:

    Ce qu'il faut faire, c'est enregistrer une macro qui rénitialise la feuille.
    Dans le menu Outils -> Macros -> Nouvelle Macro

    Ensuite tu fais manuellement les modifs sur ton tableau comme si tu voulais le remettre à zéro. Tu effaces les "X", tu remets les couleurs originales ...

    Quand c'est fini tu arrêtes l'enregistrement de la macro. Fais un test, en remettant quelques coches et des cases en couleur. Executes la macro pour voir si tout va bien.

    Il faut se reserver une cellule dans laquelle on mettra la date de la dernière réinitialisation, ceci pour éviter l'effacement des données plusieurs fois dans le meme mois. Cette cellule peut etre sur une autre feuille, ou dans une cellule masquée,
    à toi de voir ou ça ne gènera pas la mise en forme.

    Fais tout ça, on continuera après.

    A+.
    0
  10. Lala
     
    euh j'ai rencontré un petit probleme c'est que la macro ne marche que pour les case que l'on a effacé lors de l'enregistrement masi j'ai plus d'une centaine de case à remplir, je dois le faire pour toutes ???
    0
  11. Lala
     
    J'ai enfin réussi a faire ma macro en entier pfiouuuu c'était long !!! Derniere petite question, juste savoir si c'est possible de lancer la macro en meme temps que le changement de mois ??? Après je n'emebete plus hihi ^^ !!!
    0
  12. amigo
     
    La macro est au point?

    Sinon, tu peux la poster et je regarderais.

    J'ai besoin de savoir le nom de la macro que tu as crée et les références de la cellule réservée à la date de dernière réinitialisation pour compléter la procédure qui s'exécutera automatiquement à chaque ouverture du dossier.
    On fait le test si la date en A1 est différente de la date de dernière initialisation alors c'est qu'on a changé de mois et on executera ta macro.

    A+.
    0
  13. Lala
     
    Ma macro je l'ai renommé "Rafraichissement" et au niveau de la référence on pourra éventuellement mettre la date de dernière réinitialisation : "formule" au dessus de la date d'aujourd'hui et pour le test faudra que tu me dises quoi faire!!!

    LA j'en suis a "réussite d'effacement des croix et la remise des couleurs initiales" !!!
    0
  14. Lala
     
    et pour la macro le code, ca donne ca :

    Sub Rafraichissement()
    '
    ' Rafraichissement Macro
    ' Macro enregistrée le 03/06/2008 par Stagiaire
    '
    ' Touche de raccourci du clavier: Ctrl+r
    '
    Range("C11").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C14").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C18").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C20").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C22").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C22").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C22:AW22").Select
    Selection.Interior.ColorIndex = 36
    Range("C24").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C27").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C29").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C29:BC30").Select
    Selection.Interior.ColorIndex = 36
    Range("C32").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C34").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C40").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C40:T40").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C40:BC41").Select
    Selection.Interior.ColorIndex = 36
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 27
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    Range("C12").Select
    Selection.Interior.ColorIndex = 44
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 44
    Range("C16").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 44
    Range("C26").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 44
    Range("C37").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C37:BC39").Select
    Selection.Interior.ColorIndex = 44
    Range("C42").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 44
    Range("O13").Select
    Selection.Interior.ColorIndex = 35
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("O15").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("Q17").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C13").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C15").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C17").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("C17:Q17").Select
    Selection.Interior.ColorIndex = 35
    Range("C19").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C21").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B23").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B25").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B28").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B31").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B33").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("B35").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("B35:BC36").Select
    Selection.Interior.ColorIndex = 35
    Range("A36").Select
    Range(Selection, Selection.End(xlToRight)).Select
    With Selection.Interior
    .ColorIndex = 2
    .Pattern = xlSolid
    End With
    Range("C36").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 2
    Range("AB34").Select
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    Range("F22").Select
    ActiveCell.FormulaR1C1 = "x"
    Range("H12").Select
    ActiveCell.FormulaR1C1 = "x"
    Range("K22").Select
    ActiveCell.FormulaR1C1 = "x"
    Range("H17").Select
    ActiveCell.FormulaR1C1 = "x"
    Range("J11").Select
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    Range("C11:AW42").Select
    Selection.ClearContents
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 7
    Range("C7").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C9").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 36
    Range("C8").Select
    Selection.Interior.ColorIndex = 35
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C10").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Interior.ColorIndex = 35
    Range("C7:AW10").Select
    Selection.ClearContents
    Range("B7").Select
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 27
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 29
    ActiveWindow.ScrollColumn = 30
    ActiveWindow.ScrollColumn = 31
    ActiveWindow.ScrollColumn = 32
    ActiveWindow.ScrollColumn = 33
    ActiveWindow.ScrollColumn = 34
    ActiveWindow.ScrollColumn = 35
    ActiveWindow.ScrollColumn = 36
    ActiveWindow.ScrollColumn = 37
    ActiveWindow.ScrollColumn = 38
    ActiveWindow.ScrollColumn = 39
    ActiveWindow.ScrollColumn = 40
    ActiveWindow.ScrollColumn = 41
    ActiveWindow.ScrollColumn = 42
    ActiveWindow.ScrollColumn = 41
    ActiveWindow.ScrollColumn = 40
    ActiveWindow.ScrollColumn = 39
    ActiveWindow.ScrollColumn = 38
    ActiveWindow.ScrollColumn = 37
    ActiveWindow.ScrollColumn = 36
    ActiveWindow.ScrollColumn = 35
    ActiveWindow.ScrollColumn = 34
    ActiveWindow.ScrollColumn = 33
    ActiveWindow.ScrollColumn = 32
    ActiveWindow.ScrollColumn = 31
    ActiveWindow.ScrollColumn = 30
    ActiveWindow.ScrollColumn = 29
    ActiveWindow.ScrollColumn = 28
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 35
    ActiveWindow.ScrollRow = 36
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 38
    ActiveWindow.ScrollRow = 39
    ActiveWindow.ScrollRow = 40
    ActiveWindow.ScrollRow = 41
    ActiveWindow.ScrollRow = 42
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 44
    ActiveWindow.ScrollRow = 45
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 47
    ActiveWindow.ScrollRow = 48
    ActiveWindow.ScrollRow = 49
    ActiveWindow.ScrollRow = 50
    ActiveWindow.ScrollRow = 51
    ActiveWindow.ScrollRow = 52
    ActiveWindow.ScrollRow = 54
    ActiveWindow.ScrollRow = 55
    ActiveWindow.ScrollRow = 56
    ActiveWindow.ScrollRow = 57
    ActiveWindow.ScrollRow = 58
    ActiveWindow.ScrollRow = 60
    ActiveWindow.ScrollRow = 61
    ActiveWindow.ScrollRow = 62
    ActiveWindow.ScrollRow = 63
    ActiveWindow.ScrollRow = 62
    ActiveWindow.ScrollRow = 60
    ActiveWindow.ScrollRow = 59
    ActiveWindow.ScrollRow = 57
    ActiveWindow.ScrollRow = 56
    ActiveWindow.ScrollRow = 54
    ActiveWindow.ScrollRow = 52
    ActiveWindow.ScrollRow = 50
    ActiveWindow.ScrollRow = 48
    ActiveWindow.ScrollRow = 47
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 44
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 42
    ActiveWindow.ScrollRow = 41
    ActiveWindow.ScrollRow = 40
    ActiveWindow.ScrollRow = 39
    ActiveWindow.ScrollRow = 38
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 36
    ActiveWindow.ScrollRow = 35
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 33
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 26
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollColumn = 25
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    End Sub
    0
  15. amigo
     
    On continue,

    Dans la macro Rafraichissement tu peux supprimer toutes les lignes
    ActiveWindow.ScrollRow = ...
    ActiveWindow.ScrollColumn = ...

    ça ne sert à rien.

    tu peux aussi terminer la macro par
    Range("A1").Select
    End Sub

    c'est pour se positionner au début du tableau.

    Voici la macro qui s'executera à chaque ouverture du classeur:

    Dans l'editeur VisualBasic, Click droit sur ThisWorkbook -> Code (ou double-click sur ThisWorkbook)
    Dans la page de code colle cette procédure
    Private Sub Workbook_Open()
    Dim Date_Init As Date, Date_jour As Date
    Dim Mois_Init As Integer, Mois_Courant As Integer
    Dim Rep As Integer
    
    If ThisWorkbook.ActiveSheet.Range("formule").Value = "" Then
       Rep = MsgBox("Voulez-vous Initialiser le tableau?", vbQuestion + vbYesNo, "Initialisation")
       If Rep = vbYes Then
            Call Rafraichissement
            MsgBox "Tableau initialisé à la date du " & Date
            ThisWorkbook.ActiveSheet.Range("formule").Value = Date
       End If
       Exit Sub
    End If
    
    Date_Init = ThisWorkbook.ActiveSheet.Range("formule").Value
    Date_jour = Date
    
    Mois_Init = Month(Date_Init)
    Mois_Courant = Month(Date_jour)
    
    If Mois_Courant > Mois_Init Then
       Rep = MsgBox("Voulez-vous Initialiser le tableau?", vbQuestion + vbYesNo, "Initialisation")
       If Rep = vbYes Then
            Call Rafraichissement
            MsgBox "Tableau initialisé à la date du " & Date
            ThisWorkbook.ActiveSheet.Range("formule").Value = Date
       End If
    End If
    End Sub
    


    Faire le test:
    1) mettre la cellule "formule" à vide , sauvegarder, fermer, ouvrir le classeur: un message doit s'afficher, repondre oui

    2) sauvegarder, fermer, ouvrir le classeur: aucun message ne doit apparaitre

    3) dans la cellule "formule" mettre la date du mois dernier (01/05/2008)
    sauvegarder, fermer, ouvrir le classeur: un message doit s'afficher, repondre oui

    4) sauvegarder, fermer, ouvrir le classeur: aucun message ne doit apparaitre

    A+.
    0
  16. Lala
     
    Bonjour,

    alors je viens de faire le test et à la réouverture il m'affiche le message d'erreur suivant :

    Erreur d'exécution '1004'
    Erreur d"finie par l'application ou par l'objet

    Qu'est-ce que je dus faire ?
    0
  17. Lala
     
    Aie je viens de constater un petite probleme en ce qui concerne aussi la réinitialisation, j'ai supprimé toutes les lignes inutiles mais après ca, il y a un décalage des couleurs en fait mais éventuellement je pourrais recommencer ce n'est pas un problème !!!
    0
  18. amigo
     
    bonjour,

    ça doit etre la cellule nommée "formule" qui n'est pas définie.
    Tu m'avais dit que "formule" était la cellule réservée à la date de dernière initialisation.
    2 solutions: soit tu remplace "formule" par l'adresse de la cellule (par exemple "A2"), soit tu nomme cette cellule formule.

    Si ça marche toujours pas dit moi exactement sur quelle ligne ça bloque.
    A+.
    0
  19. Lala
     
    Alors la vraiment ca roule parfaitement mais j'ai ce probleme de décalage de colonnes des couleurs la qui m'emebete vraiment !!! Si y' a un moyen simple de remédier a cela !!!
    0
  20. amigo
     
    De quel décalage de colonne il s'agit, je n'ai pas le fichier sous les yeux, alors difficile de te conseiller.
    Donne plus de détails, ou bien tu met ton fichier sur

    http://www.cijoint.fr/

    et tu me poste le lien.

    A+.
    0
  • 1
  • 2
  • 3
  • 4