Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evolutive

sim

XLDnaute Occasionnel
Bonjour a toutes et a tous!!

Me voila encore bloque sur un probleme! Peut etre que quelqu'un saura comment je peux faire!

L'idee:

J'ai une application qui me donne des information precise sur les marches de mon entreprise. Pour voir les information l'utilisateur choisi le nom du marche grace a une UserForm ( Feuille CUrrent_market! Bouton "Markets" en haut a droite).

Il n'y a donc qu'une feuille pour tout les marches

Les donnees sont mises a jour chaque debut de mois.

J'aimerai creer un outils me permettant de reperer les changements ( comparer les info de la france entre le mois de mars et le mois d'avril par exemple)

Pour cela j'ai pense qu pour ce faire il faudrait que je genere une feuille pour chaque marche dans un nouveau classeur ( un nouveau classeur pour chaque mois).

On pourrait les appeler par exemple : situation_marche(mois en cours).xls

Il y a 187 marches donc 187 onglets dans un classeur, et 12 nouveau classeur par an.

Ensuite, mais ce n'est pas la demande ici il faudra que je puisse comparer le classeur de mars avec celui d'avril en ne gardant que les elements ( nouveau, efface, ou modifier).

D'apres mes recherche, peut etre qu'on pourrai utilise la propriete Caption pour generer une feuille pour cahque marche. Mais ce n'est qu'une idee!! :)

Ce code sera lancer depuis un bouton dans mon application de base.

Merci bcp a ceux qui pourron m'aider!

Sim

PS: je vous met en piece jointe un exemple vous permetant de voir comment fonctionne Current_market.

Pour resumer:

J'aimerai generer une feuille Current_market par marche dans un nouveau classeur dont le nom comporterai le mois, classeur qui ne servirai que d'etapes pour comparer les marches de mois en mois. Il n'aurai meme pas besoin d'etre ouvert.:rolleyes:
 

Pièces jointes

  • Exemple_forum.zip
    178.2 KB · Affichages: 80
  • Exemple_forum.zip
    178.2 KB · Affichages: 66
  • Exemple_forum.zip
    178.2 KB · Affichages: 87

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Re,

Une petite precision tout de meme, dans mopn exemple la liste des marche a genere est sous le nom definit "No"
ce nom defini par une fonction decaler la liste des marches ( Market_GI colonne A)

Je me suis dis que cela pourrait peut etre utile....

Merci d'avance :)
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Bonjour!!

Me suis je mal expimer? Est ce que tout ca est faisable? J'ai beau chercher je n'arrive pas a trouver le moyen de realiser une telle tache...

Ne serais ce qu'un debut de piste....svp

Cordialement.

Sim
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Bonjour a tous,

Je vois quelques consultations mais pas de reponse?

Que puis je faire pour vous aider a m'aider?? :)

Sim

Edit: Je vais reformuler ma demande....peut etre que j'ai pas ete clair..

Si c'est possible j'aimerai qu'un bouton lance une macro dont les etapes serai les suivantes:

1) Creer un nouveau classeur ayant pour nom : Situation_marches_fevrier11.xls ( par exemple)
2) Dans ce classeur generer 187 feuilles pour les 187 marche
- liste des marche definit par un nom avec formule decaler dans l'exemple nom = No

Voila, j'espere que c'est un peu plus clair...

En vous remerciant d'avance pour votre precieuse aide

Sim
 
Dernière édition:

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Re,

Bon j'ai essayer de programmer avec mes petites mimines le code....mais evidemment ca fonctionne pas du tout

Peut etre que vous pourriez jeter un coup d'oeil??

VB:
 Private Sub CommandButton4_Click()

Dim newWbk As Workbook, nomClasseur As String
Dim cell As Range
Dim i As Byte

Application.ScreenUpdating = False

Set newWbk = Application.Workbooks.Add(xlWBATWorksheet)

Sheets("Current_market").Select

For Each cell In Range("sourceGI")  ' "No" dans mon exemple
If cell <> "" Then

Range("G1").value = Cells.value
ActiveWindow.SelectedSheets.Copy Before:=newWbk.Sheets(1)

End If

'renommer la feuille du nouveau classeur
   newWbk.Sheets(i).Name = "Situation_marche & (Now(), Month(), Year().xls"

newWbk.SaveAs "F:\Finance Switzerland\Trading\Finances Services\6. Projects 3y\2011\Markets Documentation"

newWbk.Close True

End Sub



S'il vous plait, j'ai bien besoin de votre aide :)

Sim
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Pierrot93 :)!

Je suis content de voir ton nom apparaitre sur ce fil, peut etre que je vais finalement arriver a mes fins...

Bon j'ai essayer en rajoutant la boucle mais quand je fais le pas a pas cela bug des la premeire ligne...

C'est a premiere fois que je redige un code du debut a la fin...et ca fonctionne pas...sniff! :)

Pourrais tu m'aider a faire en sorte qu'il marche, vois tu la logique que j'ai essayer de retranscrire??

Merci d'avance!! :D


Sim
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

J'ai ecrit une betise

newWbk.Sheets(i).Name = "Situation_marche & (Now(), Month(), Year().xls"

doit etre remplacer par

newWbk.Name = "Situation_marche & (Now(), Month(), Year().xls"
 

Pierrot93

XLDnaute Barbatruc
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Re,

c'est quoi la première ligne ??? d'autre part tu as renommé le composant vba "thisworkbook", qui plus est par le nom d'un type d'objet vba (workbook)... pourquoi cela ???
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Re, aucune idee.....

J'ai juste repris un debut de code qui visait a creer un autre classeur et le nomclasseur as string n'a aucune raison d'etre....

Pouuuuuu j'ai l'impression de prendre le volant d'une voiture pour la premiere fois....et je maitrise pas trop mes gestes!!!

La logique etait la suivante

Creer un classeur
Le renommer avec un titre + mois + annees
L'enregistre dans un repertoire particulier

Prendre les valeur des cellule de la liste (sourceGI)
Faire une copie de Current_market pour chaque valeur de (sourceGI)
Renommer chaque onglet par la valeur correspondante de la liste SourceGI

Car quand elle sont creer les feuille s'appelle Sheet(1) d'ou mon sheet(i).add.name = cell.value

.....enfin voila j'espere que je suis le plus clair possible

Merci encore ;)
 

sim

XLDnaute Occasionnel
Re : Creer nouveau classeur, en generant plusieur feuille a partir d'une feuille evol

Haaa tu es donc dans mon exemple...

Je crois que nous avions deja discuter de ce sujet toi et moi, et enfait l'exemple que j'ai mis dans ce fil est une ancienne version de mon appli, mais dans la version actuelle de mon application ( que tu peux retrouver dans mon fil "besoin d'un expert" ) ce probleme a ete resolu...

J'espere que je repond bien a ta question...

D'ailleur je t'invite a regarder ce fichier, comme ca tu verras le resultat de ton aide, puisque tu est present depuis le debut....

Voici le lien ( en plus c'est en francais !! :))

Cijoint.fr - Service gratuit de dépôt de fichiers

Par ailleurs,

J'avais reussi a genere les differente current market mais pour l'impression (tu peu voir le code dans le code du Userform Print_usf tout en bas mais la je fonctionne avec des checkbox donc le Caption est egale au nom des marches.....voila peut trop d'info tue l'info alors j'arrete dans rajouter ;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 355
Messages
2 087 553
Membres
103 588
dernier inscrit
Tom59300Tom