IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA] Ecraser Feuille par une autre d'un autre Classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut [VBA] Ecraser Feuille par une autre d'un autre Classeur
    Bonjour,

    Comment peut-on faire pour écraser une feuille de mon classeur courant actif, par une feuille d'un autre classeur susceptible d'avoir le même nom ?

    Merci d'Avance,

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    A ma connaissance c'est impossible, la feuille prendra automatiquement le nom "Nom(2)" si celui-ci existe déjà

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Je pense que si,
    Parce qu'on peut toujours contourner le problème initial,

    Par Exemple au lieu d'écraser la Feuille en copier tout le contenu dans l'autre Feuille,

    J'ai essayé avec ce code:
    ----------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FichierChoisi = Application.GetOpenFilename("Fichiers Textes, *.txt, Fichiers MS-Office, *.xls;*.doc;*.ppt", 2, "Choisir le Fichier XLS de Mise à Jour :")
     
    If FichierChoisi <> Faux Then
    Workbooks(FichierChoisi).Sheets("Feuille1").Cells.Copy Sheets("Feuille1").Range("A1")
    End If
    ----------------------------------

    Mais ça me donne une erreur d'exécution dans la ligne "workbooks( ..."

    Quelle que chose m'échappe !

    Merci de Votre Passage et Votre Aide,

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    La d'accord, tu n'écrases pas la feuille mais son contenu.

    Concernant le bug, différentes choses :
    • Application.GetOpenFilename ne vas pas ouvrir le fichier mais juste stocker le nom et le chemin complet du fichier choisi dans la variable FichierChoisi
    • FichierChoisi prend donc par exemple la valeur "C:\Repertoire\Fichier.xls", normal que Workbooks("C:\Repertoire\Fichier.xls") va coincer...
    • pour ouvrir le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FichierChoisi = Application.GetOpenFilename("Fichiers Textes, *.txt, Fichiers MS-Office, *.xls;*.doc;*.ppt", 2, "Choisir le Fichier XLS de Mise à Jour :")
    Workbooks.Open Filename:=FichierChoisi

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 73
    Par défaut
    Merci pour la Réponse,

    Normalement ça devra être fait dans 2 ligne de code,

    Je veux pas ouvrir l'autre fichier, juste au démarrage de mon fichier il me sort le Menu ouvrir un Fichier pour choisir le Fichier depuis lequel je veux faire une MAJ de ma première Feuille !

    J'ai toujours la même erreur,

    Merci de me proposer une Solution, même en procédant d'une autre manière, l'essentiel est d'arriver au But: mettre à jour une Feuille depuis une autre feuille se trouvent dans un autre classeur (sans ouvrir ce dernier),

    Merci,

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Si c'est pour lire dans un fichier fermé, la procédure est totalement différente.
    Je ne maîtrise pas cette procédure mais tu as les explications ICI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Lecture de données entrées dans une feuille par une macro
    Par martinmacfly dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/12/2009, 16h29
  2. Réponses: 1
    Dernier message: 23/04/2008, 10h34
  3. [VBA] remplacer null par une chaine de caractère
    Par Bernard123 dans le forum VBA Access
    Réponses: 8
    Dernier message: 20/04/2007, 16h35
  4. remplacer une feuille par une feuille du meme nom
    Par florent149 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/08/2006, 16h00
  5. [VBA-A]Appel d'une procédure d'un autre projet!
    Par TiT0f dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/06/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo