Activer un fichier  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

Activer un fichier

Messagepar vinc87 » 16 Fév 2011, 20:55

Bonjour,

Je suis en train de galérer sur un truc. En fait, je veux copier des données d'un fichier vers un autre.

Dans une page Excel, j'ai inscris dans des cellules que j'ai nommé les informations suivantes

P:\comptabilite\MAJ Suivi contrat-projet\Test Vincent --> nommé "chemin" dans excel
Suivi de mandats précédent --> Nommé "Nom1" dans excel

Voici ce que je veux faire :

Ouvrir le fichier dans lequel je veux prendre les données . J'ai réussi :

Macro :

Chemin = [Chemin]
fichier = [Nom1]
Workbooks.Open Filename:=Chemin & "\" & fichier & ".xls"
Cells.Copy

Peux-être devrais-je déclarer des variables, mais je comprends pas encore le principe des variables.

Par la suite, je veux réactiver mon fichier ou j'exécute la macro. L'enregistreur enregistre ça :

Windows("Copie de GabaritMAJ-mandat.xls").Activate

Moi, j'aimerais le réouvrir selon le nom définir, car ce code ne fonctionnera plus si je change le nom de mon fichier. J'ai essayé les deux codes suivants pour remédier au problème :

bud = ActiveWorkbook.Name

1.bud.Activate
2. Windows("bud").activate

Mais ça ne fonctionne pas.

Est-ce que vous avez une idée de la syntaxe a utiliser?

Un gros merci d'avance !
vinc87
Membre fidèle
 
Messages: 171
Inscription: 16 Avr 2009, 21:19
Version Excel: 2003 FR

Re: Activer un fichier

Messagepar dubois » 16 Fév 2011, 21:17

Bonsoir,

Tu n'est pas loin
bud = ActiveWorkbook.Name

2. Workbooks(bud).activate (à la place de Windows)

çà devrait marcher

Amicalement
Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9252
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Re: Activer un fichier

Messagepar vinc87 » 16 Fév 2011, 21:43

Bonjour,

Merci Claude pour ton aide de nouveau. J'ai encore deux petites questions concernant cette macro.

Je voudrais sélectionner la Feuil2 (son nom VB pas excel) pour copier les valeurs au bon endroit. J'essaye ceci:

Workbooks(Cefichier).Worksheets.Feuil2.Select
Cells.Select

Ça ne fonctionne pas, ca doit pas être grand chose.

J'ai remarqué que mon code : Workbooks.Open Filename:=Chemin & "\" & fichier & ".xls"
ne marche qu'une fois. Après j'ai un message d'erreur me disant que le fichier n'existe pas... J'enlève la ligne de code et je la remet et ça refonctionne...

Chercher l'erreur...?

Merci encore pour ton aide précieuse !
vinc87
Membre fidèle
 
Messages: 171
Inscription: 16 Avr 2009, 21:19
Version Excel: 2003 FR

Re: Activer un fichier

Messagepar dubois » 16 Fév 2011, 21:54

re,

Le mieux serait d'envoyer les 2 fichiers et d'expliquer
la manip à faire

Amicalement
Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9252
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Re: Activer un fichier

Messagepar vinc87 » 16 Fév 2011, 21:59

Bonjour,

Les fichiers sont gros et contiennent plusieurs données confidentielles, mais je veux juste coller les données d'un fichier vers un autre.

Donc je suis aller copier mes données dans le fichier 1 que je venais d'ouvrir :

Cells.Copy

Je veux coller les données dans le feuil1(données) dans le fichier 2 :

Workbooks(Cefichier).Activate
Workbooks(Cefichier).Feuil1.Select

Par contre, ce code ne fonctionne pas.

Merci encore !

Vincent
vinc87
Membre fidèle
 
Messages: 171
Inscription: 16 Avr 2009, 21:19
Version Excel: 2003 FR

Re: Activer un fichier

Messagepar dubois » 16 Fév 2011, 22:04

re,

Affiche ici la macro complète, pour voir

Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9252
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Re: Activer un fichier

Messagepar vinc87 » 16 Fév 2011, 22:09

Sub openmandat()

'Vieux suivi de mandats
Chemin = [Chemin]
fichier = [Nom1]
Workbooks.Open Filename:=Chemin & "\" & fichier & ".xls"

Cefichier = ActiveWorkbook.Name
Cells.Copy

Workbooks(Cefichier).Activate

Workbooks(Cefichier).Feuil1.Select
Cells.Select

ActiveSheet.Paste

Workbooks(fichier).Close



End Sub

Voilà ! Merci :)
vinc87
Membre fidèle
 
Messages: 171
Inscription: 16 Avr 2009, 21:19
Version Excel: 2003 FR

Re: Activer un fichier

Messagepar dubois » 16 Fév 2011, 22:32

re,

Tel que tu écrit
"Cefichier" est le fichier que tu ouvre avec Open

Dans quel fichier se trouve la macro

faut que je fasse ma soupe, je regarde après !

Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9252
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Re: Activer un fichier

Messagepar vinc87 » 16 Fév 2011, 22:36

Bonjour Claude,

J'ai modifié mon code comme ceci :


Application.ScreenUpdating = False
Application.DisplayAlerts = False

'Vieux suivi de mandats
Chemin = [Chemin]
fichier = [Nom1]
'Nom de ce fichier
Cefichier = ActiveWorkbook.Name

'On ouvre et copie les données du vieux
Workbooks.Open Filename:=Chemin & "\" & fichier & ".xls"
Cells.Copy

'On copie les données dans ce fichier
Workbooks(Cefichier).Activate
Sheets("Suivi mandat précédent").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False

'On ferme le vieux fichier
Workbooks(fichier).Close

ça fonctionne bien. Par contre, si tu connais comment sélectionner Feuil1 au lieu de "suivi mandat précédent", je suis preneur.

Un gros merci de ton aide toujours apprécié.

Bonne fin de journée et bon appétit !
vinc87
Membre fidèle
 
Messages: 171
Inscription: 16 Avr 2009, 21:19
Version Excel: 2003 FR

Re: Activer un fichier  Sujet résolu

Messagepar dubois » 16 Fév 2011, 22:46

re,

si tu est sûr que la feuille se nomme "Feuil1", tu remplace simplement le nom
Workbooks(Cefichier).Activate
Sheets("Feuil1").Activate

à noter que si le bouton est sur Feuil1, pas besoin de cette ligne

édit:
N'oublie pas de déclarer
Code: Tout sélectionner
Sub openmandat()
Dim Cefichier As String, Chemin As String, fichier As String


Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9252
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Suivante

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot], Majestic-12 [Bot] et 15 invités