Code VBA pour copie de cellules

SPEA

XLDnaute Occasionnel
Bonjour le forum,

je cherche une macro qui me permette de mettre à jour un rapport en fonction du mois qui est selectionné. Mon fichier contient 12 feuilles (une pour chaque mois) dans lesquelles sont saisies des données relevées chaques semaines.

A la fin de chaque mois je copie manuellement les données sur une feuille qui me permet d'editer un rapport. Je souhaiterais un msgbox ou un USF sur la feuille rapport qui me permette de selectionner un mois, en fonction du mois choisi les données correspondantes seraient copiées sur la feuille rapport.

Pour simplifier je n'ai laissé que janvier-fevrier dans le fichier, les cellules qui doivent etre copiées sont en jaune.

Si quelqu'un peut m'aider, d'avance merci...
 

Pièces jointes

  • electro_2008.zip
    18.3 KB · Affichages: 34

fanfan38

XLDnaute Barbatruc
Re : Code VBA pour copie de cellules

Bonjour
J'espere que le fichier joint correspond à tes desirs
Quand tu selectionnes la feuille rapport le combobox s'incremente du nom des autres feuilles
Quand tu choisis une de ces feuilles le tableau ce met à jour

A+ François
 

SPEA

XLDnaute Occasionnel
Re : Code VBA pour copie de cellules

Bonjour François, le forum

Merci pour ton aide, ca correspond exactement à ce que j'attendais.

Est il possible que le format des cellules dans la feuille rapport "s'adapte" au nombre de valeurs ? Je m'explique:

au mois de janvier il y a 9 relevés, en fevrier il n'y en a que 8. Dans la feuille rapport le format des cellules doit être appliqué sur 9 lignes en janvier ou sur 8en février. (Tout cela pour éviter d'avoir des cellules vides encadrées).
 

fanfan38

XLDnaute Barbatruc
Re : Code VBA pour copie de cellules

Excuse. Comme tu peux le voir j'ai le 2007. J'ai donc ressorti mon portable et en effet.
Appûie sur ALT + F11 (pour passer en mode VBA)
Choisi module1
Dans Sub Bord(lig) supprime toutes les lignes
.tintandshade=0
Ca devrait marcher

A+ François
 

SPEA

XLDnaute Occasionnel
Re : Code VBA pour copie de cellules

Re,

merci pour ta réponse.

Pour info peux tu me dire comment remplacer la ligne suivante:
Code:
If Sheets(i).Name <> "Rapport" Then

Mon fichier contient beaucoup de feuilles dont des feuilles de graphiques, comment dire à la macro de ne s'appliquer que sur les feuilles "Janvier Février Mars ...décembre au lieu de dire appliquer sur toutes les feuilles du classeur sauf Rapport, graph, feuilx, etc ?

merci.
 

SPEA

XLDnaute Occasionnel
Re : Code VBA pour copie de cellules

Bonjour Francois,

ok si j'ai bien saisi tu utilise le fait que les feuilles concernées ont toutes le mot 'RELEVES' dans la cellule A1, c'est une methode à laquelle je n'avais pas pensé ;).

En fait ma question portait sur le nom des onglets car cela peut me servir dans d'autres fichiers, si je veux appliquer la macro aux feuilles ayant un nom de mois et exclure les autres.
 

fanfan38

XLDnaute Barbatruc
Re : Code VBA pour copie de cellules

C'est faisable, mais plus compliqué...
il faut que les nom des onglets soit ecrit exactement comme suit
janvier, fevrier, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre

sans majuscule ce qui n'est pas ton cas...
Il serai plus simple de les appeler 01, 02, etc... et de faire if sheets.name is numeric...
A+ François
 

SPEA

XLDnaute Occasionnel
Re : Code VBA pour copie de cellules

OK,

je pensais que l'on pouvais créer une variable contenant les noms des feuilles en question et faire if sheets.name = variable then...(désolé je suis débutant en VBA :p)

Pour les majuscules je peux les enlever ce n'est pas un soucis, mais ton idée du if sheets.name is numeric me semble trés interessante.
 

Discussions similaires

Réponses
0
Affichages
127
Réponses
5
Affichages
136

Statistiques des forums

Discussions
312 345
Messages
2 087 490
Membres
103 558
dernier inscrit
Lamine ABIDI