copie de feuille

guima1642

XLDnaute Occasionnel
Bonjour,

mon pb du jour : J'ai un classeur "devis_modele" qui comporte 3 feuilles que je voudrais copier dans le classeur XXX ouvert. je ne connais pas le nom du classeur XXX c'est la ou réside mon pb :
Code:
Workbooks.Open(Filename:="c:\devis_modele.xls"). _
        RunAutoMacros Which:=xlAutoOpen
        
    ActiveWindow.ActivateNext
    
    Sheets("FICHE 1").Select
    
    ActiveWindow.SelectedSheets.Delete
    
    ActiveWindow.ActivateNext
    
    Sheets(Array("FICHE 1", "Fiche 2", "Fiche 3")).Copy Before:= _
        Workbooks([COLOR="Red"]La je sais pas quoi mettre pour aller à l'autre classeur ouvert[/COLOR]).Sheets(5)

    Cells.Replace What:="[devis_modele.xls]", Replacement:="", LookAt:=xlPart _
        , SearchOrder:=xlByRows, MatchCase:=False

Merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : copie de feuille

Bonjour,

pas tout compris et comme à priori tu ne nous aa pas donné tout le code utilisé... si le classeur ouvert que tu cherches est celui où se trouve ta macro, tu peux utiliser "thisworkbook"...

Code:
ThisWorkbook.Sheets(5)

bon après midi
@+
 

gimli

XLDnaute Occasionnel
Re : copie de feuille

Bonjour,
Je pense que tu dois utiliser une variable du genre:
Dim NewClasseur As Workbook
Set NewClasseur = Application.Workbooks.Add

un truc du genre, donc comme nom de classeur tu auras NewClasseur.
C'est un début déja ^^
 

guima1642

XLDnaute Occasionnel
Re : copie de feuille

merci à tous les 2,

en fait j'utilise une barre d'outils pour faire tourner ma macro. Mais je pense que je dois simplement récupérer le nom de mon classeur et après ça ira. Je vais chercher dans ce sens là.
 

guima1642

XLDnaute Occasionnel
Re : copie de feuille

Bonjour,

Je ne m'en sort pas j'essaye de récupérer le nom mais ça marche pas je dois oublier une étape voici mon code : en tenant compte que je lance d'une barre d'outil avec uniquement le classeur clientXXX.xls

Code:
  nom = Sheets("feuil_prop").Range("D1") & "_" & Sheets("profil").Range("H1") & ".xls"

   ' récupération du nom du classeur clientxxx je ne sais pas lequel
  
    Workbooks.Open(Filename:="c:\DEVIS\devis_modele.xls"). _
        RunAutoMacros Which:=xlAutoOpen
        
    ActiveWindow.ActivateNext
    
    Sheets("FICHE TRANS").Select
    
    ActiveWindow.SelectedSheets.Delete
    
    ActiveWindow.ActivateNext
    
    Sheets(Array("FICHE TRANS", "villes", "contrat")).Copy Before:= _
        [COLOR="Red"]Workbooks(nom)[/COLOR]
' la ça plante

merci pour votre aide ou idée
 

hoerwind

XLDnaute Barbatruc
Re : copie de feuille

Bonjour,

A-t-on vraiment besoin d'une macro pour faire cette petite manipulation ?

Ouvrir les deux fichiers.
Menu Fenêtre - Réorganiser - Horizontal (ou Vertical)
Cliquer sur l'onglet à copier et maintenir le bouton de la souris enfoncé.
Glisser le curseur sur la barre d'onglet du second classeur.
Enfoncer la touche clavier Ctrl, puis lâcher le bouton de la souris et cette touche en même temps.
 

guima1642

XLDnaute Occasionnel
Re : copie de feuille

Bonjour hoerwind,

1) ce n'est pas moi qui lance la macro, avec la barre d'outil.
2) elle peut être lancer par une 10 de personnes qui ont chacune un domaine différent.

Donc moi je ne connais pas à l'avance le nom du fichier, la seule chose qui est immuable c'est c:\DEVIS\devis_modele.xls.
c'est pour ça que j'essaie de récupérer le nom du fichier dans la variable "nom" qui au lancement prend bien la valeur (hoerwind.xls) par exemple.

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 859
Messages
2 092 891
Membres
105 552
dernier inscrit
youcef.aksoum