problème d'onglet

problème d'onglet - VB/VBA/VBS - Programmation

Marsh Posté le 28-06-2007 à 12:20:50    

bonjour voilà le dernier problème auxquel je fais face:
 
Dans un classeur  j'ai une macro qui me crée un onglet pour le mois de l'année que je peux choisir(Jan 07, feb 07,etc..) grâce à une combobox.
 
Et dans un autre classeur j'ai les mêmes onglet avec les mêmes appelations (Jan 07, Feb 07,etc).
 
Ce que j'aimerais faire c'est que lorsque je crée mon nouvel onglet Jan 07, ma macro puisse me copier coller la feuille s'appelant Jan 07 de mon autre classeur.
 
Si quelqu'un a une idée, voilà ce que j'ai
 
Sub copieblocrout():
 
Windows("Classeur ou je veux prendre mon information.xls" ).Activate
 
Sheets("jan 07" ).Select
 
Range("A1" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur ou je veux que mon information soit.xls" ).Activate
ActiveSheet.Select
Range("A50" ).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
 
 
 
 
 
 
et en faite ca merde au niveau du Sheets("jan 07" ).Select car j'aimerais choisir l onglet que je viens de créer et qui n est pas forcément Jan 07

Reply

Marsh Posté le 28-06-2007 à 12:20:50   

Reply

Marsh Posté le 28-06-2007 à 13:30:33    

tu peux stocker le nom de l'onglet dans une variable non ?

Reply

Marsh Posté le 28-06-2007 à 14:22:16    

J'en ai vraiment aucune idée...  
tu ferais comment?

Reply

Marsh Posté le 28-06-2007 à 14:27:43    

lorsque tu créés ton onglet dans un classeur, tu stocke dans une variable son nom
 
dim nomonglet as string
nomonglet = sheets(1).name
 
et tu utilises ce nomonglet dans ton 2e classeur.

Reply

Marsh Posté le 28-06-2007 à 14:50:06    

fontionne tjrs pas, qu es ce que ca peut m enerver!

Reply

Marsh Posté le 28-06-2007 à 14:51:26    

qu'est-ce qui ne marche pas ?
tu peux filer ton code de création d'onglet pour voir comment tu utilises ce que je t'ai proposé stp ?

Reply

Marsh Posté le 28-06-2007 à 15:00:49    

Sub ajouterrenommerfeuille()
Dim nomonglet As String
nomonglet = Sheets(1).Name
Sheets.Add.Name = Range("E2" )
end sub
 
J'ai juste remplacé mais je n y connais rien en vba.... :)
 
En faite j'ai une combobox qui me laisse choisir un mois de l'année, une fois ce mois choisi, ce mois est noté en "e2". Ensuite, j'ajoute mon onglet avec ce nom... voilà si quelque chose n est pas clair, n hésite pas à demander

Reply

Marsh Posté le 28-06-2007 à 15:10:36    

En faite cela me recopie le premier mois de mon classeur (c'est a dire janvier) au bon endroit dans l onglet que je viens de créer, par exemple mars.

Reply

Marsh Posté le 28-06-2007 à 17:10:17    

Bonjour,
J'espere que ca t'aidera.
 
    NomFeuille = Sheets("Feuil1" ).Range("A1" )
    Sheets.Add
    ActiveSheet.Name = NomFeuille
 
    Workbooks.Open Filename:= _
        "C:\Mes Documents\TonFichierACopier.xls"
    Sheets(NomFeuille).Select
    ActiveSheet.Cells.Select
    Selection.Copy
    Windows("TonFichierOuColler.xls" ).Activate
    Sheets(NomFeuille).Select
    ActiveSheet.Cells.Select
    ActiveSheet.Paste
    Windows("TonFichierACopier.xls" ).Close (False)
    ActiveSheet.Range("A1" ).Select

Reply

Marsh Posté le 28-06-2007 à 17:44:43    

Merci c'est cool, mais ça ne fonctionne toujours pas, je crois pas que je m y prenne bien pourtant ca pas l'air d'être si compliqué....

Reply

Marsh Posté le 28-06-2007 à 17:44:43   

Reply

Marsh Posté le 28-06-2007 à 17:46:49    

quand tu dis que ca ne fonctionne pas, c'est parce que ca te pond une erreur ou le résultat n'est pas celui attendu ?? :sweat:  :pt1cable:

Reply

Marsh Posté le 28-06-2007 à 17:54:51    

sans ta réponse mon code ressemble à ça:
 
Sub AfficheListeDeroulanteModifiable()
      listederoulantemodifiable.Show
     
 
End Sub
 
Sub ajouterrenommerfeuille()
Sheets.Add.Name = Range("E2" )
 
 
End Sub
 
Sub open_files_from_C()
Workbooks.Open Filename:= _
"C:\auxiliaire\stage.xls", _
updatelinks:=0
 
 
End Sub
 
Sub copieblocrout():
 
Dim Name_of_sheet As String
 
Windows("stage.xls" ).Activate
Name_of_sheet = "feb 07"
 
Sheets(Name_of_sheet).Select
 
Range("A1" ).Select
Application.CutCopyMode = False
Selection.Copy
Windows("Début de procédure.xls" ).Activate
ActiveSheet.Select
Range("A50" ).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
 
End Sub

Reply

Marsh Posté le 28-06-2007 à 18:01:53    

En faisant cela, je copie toujours de mon classeur excel source stage.xls, le premier onglet qui est donc janvier.
 
 Alors que dans ma combobox j'ai selectionné le mois de février, et créer cet onglet février dans mon deuxième classeur "début de procédure".  
 
Malheureusement je copie au bonne endroit mais pas la bonne source....(copie de janvier dans l onglet février!)

Reply

Marsh Posté le 28-06-2007 à 18:55:34    

je propose de passer directement le  
sheets(nomdelafeuille) plutot que de faire des select successif, sinon tu c plus où tu en es.

Reply

Marsh Posté le 28-06-2007 à 19:44:27    

D'accord, mais es ce que tu pourrai me montré à quoi ca ressemblerai parce que je vois pas trop comment le faire stp

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed