Macros excel

cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006 - 8 nov. 2006 à 15:13
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006 - 10 nov. 2006 à 09:24
Bonjour
 
Je debute avec les macros.
J'ai un tableau excel avec 3 onglet Liste A et Liste B et Test
Dans la cellule A1 et B1 C1  (onglet liste A ) j'ecris du texte.  
La celulle A1 doit generer un nouvelle onglet avec comme nom la cellule A1.
Ensuite j'ecris du texte dans A2 B2 C2 et je genere un nouvel onglet avec comme nom de cellule A2.
 
Petite complication :Les nouveaux onglet creer doivent avoir une meme trame ( presentation onglet test ) et a chaque fois recuperer les donnees A1 B1 C1.
 
Cette macro je souahiterai qu'elle puise marcher avec liste a et ListeB
Voila ce que cela donne mais ca marche pas
 
Sub BOB()
'
' BOB Macro
' Macro enregistrée le 02/11/2006 par SEAUVE
'
 
'
    Sheets("Test" ).Select
    Sheets("Test" ).Copy After:=Sheets(3)
    Sheets("Liste A" ).Select
End Sub
Sub test()
'
' test Macro
' Macro enregistrée le 02/11/2006 par SEAUVE
'
 
'
    Sheets("Test" ).Select
    Sheets("Test" ).Copy After:=Sheets(3)
    Sheets("Liste A" ).Select
    Range("A6" ).Select
    Selection.Copy
    Sheets("Test (2)" ).Select
    Application.CutCopyMode = False
    Sheets("Test (2)" ).Name = "tests"
    Sheets("Liste A" ).Select
End Sub

13 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
8 nov. 2006 à 15:34
Salut

voila dans un premier temps pour t'aider essaye ça avec un nouveau classeur, suivant ce que tu veux faire il faudra surement faire des boucle sauf si seul a1, a2, b1 et b2 sont utiliser pour faire de nouvelles feuilles.

Private Sub CommandButton1_Click()


Worksheets(1).Name = "ListA"
Worksheets(2).Name = "ListB"
Worksheets(3).Name = "Test"


Worksheets(3).Copy after:=Worksheets(3)
Worksheets(4).Name = Worksheets(1).Range("A1")
Worksheets(4).Range("A1") = Worksheets(1).Range("A1")
Worksheets(4).Range("B1") = Worksheets(1).Range("B1")
Worksheets(4).Range("C1") = Worksheets(1).Range("C1")


Worksheets(3).Copy after:=Worksheets(4)
Worksheets(5).Name = Worksheets(2).Range("B1")
Worksheets(4).Name = Worksheets(1).Range("A1")
Worksheets(5).Range("A1") = Worksheets(2).Range("A1")
Worksheets(5).Range("B1") = Worksheets(2).Range("B1")
Worksheets(5).Range("C1") = Worksheets(2).Range("C1")


End Sub

 Drikce 06
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
8 nov. 2006 à 15:48
Bonjour
Plutôt que de t'embêter avec Sheets("Test (2)" ).Name  tu peux obtenir l'indice de la feuille après laquelle tu as inséré ta copie :

On admet que tu copies Feuil1 et que tu l'insères après Feuil3 et que tu l'appelles "NouveauNom" ca donne ça :

Sheets("Feuil1").Select
 Sheets("Feuil1").Copy After:= Sheets("Feuil3")
 Sheets(Sheets("Feuil3") .Index + 1 ).Name = "NouveauNom"




Maintenant pour lui affecter comme nom la valeur d'une cellule tu fais :


Sheets(Sheets("Feuil2").Index + 1).Name = Range("Feuil1!A1").Value



Bon courage.

PS : Entre nous, je ne comprend pas trés bien pourquoi tu fais un truc aussi byzare ?

Jcbé[^]
0
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
8 nov. 2006 à 22:47
Bonjour

Merci pour l'aide c'est deja mieux avec la macro

Sub CommandButton1_Click()


Sheets("Test").Select
 Sheets("Test").Copy After:=Sheets("Test")
 Sheets(Sheets("Test").Index + 1).Name = Range("Feuil1!A6").Value
Sheets("Feuil1").Select
End Sub


Mais je veux ensuite aller sur la cellule A7 de la feuille 1 , remplir cette cellule avec un nouveau et ainsi creer un nouvel onglet apres avec le nom de la cellule A7.

Pour que cela soit plus simple comment est ce que je peux joindre mon fichier excel

Encore merci pour la reponse
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
8 nov. 2006 à 22:50
Bonsoir,
Si tu as un site espace web perso, tu crée un repertoire pour y mettre tes sources et tu nous publie l'adresse.
A+

Jcbé[^]
0

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

Posez votre question
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
8 nov. 2006 à 23:06
Bonsoir

Pour le site Web j'en suis pas là !!!
D'abord les macros. Une chose apres l'autre. J'aime bien apprendre mais quand meme
Je vais me debrouiller a expliquer mes macros par courrier.
Donc je bloque toujours lorque je veux passer à la cellule A7

Merci
A+
0
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
8 nov. 2006 à 23:06
Bonsoir

Pour le site Web j'en suis pas là !!!
D'abord les macros. Une chose apres l'autre. J'aime bien apprendre mais quand meme
Je vais me debrouiller a expliquer mes macros par courrier.
Donc je bloque toujours lorque je veux passer à la cellule A7

Merci
A+
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
8 nov. 2006 à 23:22
Bonsoir,
Ecoute, c'est pas pour être désagréable, au contraire si nous te donnons de notre temps c'est parce qu'on le veux bien. Mais bon, ton problème est tellement spécifique que tu dois réfléchir à une manière de le rendre un peu plus...universel !
Et comme tu n'explique pas la finalité de tout cela, nous ne pouvons pas t'aiguiller vers une solution plus appropriée.
C'est extrèmement frustrant de devoir arracher les infos par petits bouts. Même si la technologie semble super accessible et super gratuite, la place que nous occupons ici, est un privilège, même si elles ne sont pas gravées dans le marbre, les informations dites ici sont lues par des milliers de personnes, relayées par des flux RSS et  des mails.

J'espère que tu comprends bien qu'un forum n'est pas un "Tchat Room" ni un IRC et qu'il faut essayer de faire un peu avancer le schmillblick...

Voila, j'ai lâché ce que j'avais sur le coeur, et ne te sent pas uniquement visé, ca concerne tous ceux qui viennent consommer de l'info sans se rendre compte qu'ils doivent aussi donner en retour...au moins en formulant des questions précises, en s'interrogeant sur la réutilisabilité des solutions qu'ils veulent obtenir etc..

Bon je vais me coucher, bonsoir.

Jcbé[^]
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
9 nov. 2006 à 10:52
C'est sur Tmonod à questions peu précises réponses peu précises!
Explique comme le dit Tmonod la finalité de ce que tu veux effectuer avec ta macro
.

 Drikce 06
0
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
9 nov. 2006 à 18:56
Bonsoir
Je ne savais que mes courriers declancheraient tant de reaction.
Je suis desolé.Je ne suis pas encore tres familier de ce genre de site.
Ce n'est pas mon style de consommer uniquement pour moi et sans donner en retour.

 En fait le but c'est d'avoir un fichier excel avec 1onglet ListeA 1 Onglet Liste B 1 onglet Test
Ca je peux le creer sans macro au depart.
Ensuite sur l'onglet Liste A je renseigne la cellule A1(nom) , la cellule B1(commentaires ) C1 Observations
La macro va generer un onglet qui sera une copie de l'onglet Test avec pour nom la cellule A1 de la liste A.
Dans le nouvel onglet portant le nom de la cellule A1 de la liste A sera repris bien evidemment les valeurs de la cellule B1 et C1.
Cet nouvel onglet reprend les valeurs cellules B1 et C1 plus  d'autres commentaires que je rentre manuellement.

Ensuite je souhaite continuer à renseigner la cellule A2 qui va generer un onglet ayant comme nom la cellule A2 etc...

Ensuite je selectionne la liste B et je renseigne la cellule A1 qui va generer un nouvel onglet à la suite de ceux creer avec la liste A.

Le but de tout cela est de faire 2 listes de noms personnes par exemple ( Liste A et B ) avec des onglets nominatifs qui reprennent les renseignenemts des feuilles Liste A et B .
La feuille Test est simplement une trame de presentation commune pour tous les onglets. C'est pour cela qu'elle est dupliqué à cha que fois

Voila j'esperes que mes explications sont plus claires .Jr suis peut etre compliqué mais lorsque l'on ne connait on a tendance à faires des usines à gaz.

Merci encore pour vos infos

A+
Pilou
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
9 nov. 2006 à 20:09
Bonsoir,
Y a pas de mal. Mais c'est vrai que ton descriptif est compliqué. En fait tu as le défaut de tous les non-informaticiens, tu es un humain !!
Les conseils qui suivent sont trés subjectifs mais bon, je pense qu'ils te serviront :
1/Tourne le dos à ta machine, imagine que tu ne connais pas Excel, essaye de te représenter l'outil dont tu as besoin....voila...encore un peu...Stop !

Maintenant, essaie d'écrire à cette communauté en commençant par :


"Voila, je voudrais réaliser une application qui permet de ....


...je souhaiterais utiliser les outils du Pack Office ou de..., 
les utilisateurs de cette applications sont ...., ils doivent pouvoir acceder à....,
mes contraintes sont...., pouvez-vous m'aiguiller sur la meilleure manière de traiter tel problème : .... et tel autre..."

L'idée c'est que tu dois partir du général vers le particulier, tu t'es enlisé dans une solution technique qui es limitée par ta propre connaissance des outils que tu utilises, en posant des questions ouvertes tu laisserais d'avantage la possibilité à la communauté d'imaginer des solutions différentes de celles que tu as pu trouver... et du même coup tu orienterais tes autres questions de manière plus pertinente !

Allez, essaie un peu pour voir !

Jcbé[^]
0
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
9 nov. 2006 à 22:31
Bonsoir

J'avoue que je suis un peu surpris par la reponse mais bon pourquoi pas!!!
Alors reformulez autrement cela donne cela

Je souhaiterai une application qui puisse me creer  des fiches personnalisées en fonction d'une liste de depart que je renseigne moi meme.
Toutes les fiches ont la meme trame mais avec une entete relié à la liste d'entree

Voila exprimer autrement !!!!!

Merci
A+
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
9 nov. 2006 à 23:14
Tu as pas mal d'option possibles :
- Créer tes contacts dans une base de donnée et utiliser en suite des formulaires pour les consulter, les rechercher etc..
   Pour ca tu as Access qui est relativement facile à aborder, ou vb.net, en plus ce type d'applis est déclinée un peu partout sur les sites de prog.
- Essaie de ne pas faire ca sous Excel, Excel est un logiciel qui permet de présenter des données et même si plein de gens ont fait des "super" applis sur Excel, ca reste quand même du bricolage.

Il faut lire, apprendre, te faire une culture de base sur les bases de données :
- La théorie : Formalisation Merise, UML...
- Les différentes solutions professionnelles : SQL Server, Mysql, ....
-  Les produit "grand public" : Access, Open Office Base, 4D...
- Les différents environnements qui permettent l'accès aux données : ODBC et les interfaces comme ADO, DAO ....
- Les données orientées "Web" : XML...

Mais l'important, c'est que tu distingues bien, à la fois dans ta tête et dans ton code)  la mise en place de ton modèle de données d'une part  et la façon de les présenter (interface homme-machine : les formulaires etc...) d'autre part.

Jcbé[^]
0
cs_pilou2607 Messages postés 9 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 16 novembre 2006
10 nov. 2006 à 09:24
Ok merci pour ces precisions
je vais essayer plutot du coté de Acces

J'avais simplement commencé par Excel car c'etait pour moi une facon de me familiariser avec les macros.
Cet exemple etait interessant pour moi.
Encore merci
A+
0
Rejoignez-nous