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 :

Coller une sélection après suppression de l'onglet [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 27
    Par défaut Coller une sélection après suppression de l'onglet
    Bonjour à tous,

    Je reviens à nouveau vers vous pour une nouvelle question.
    J'ai une macro qui crée un TCD (j'ai bien galéré, je l'avoue...) qui se place dans un nouvel onglet (pas réussi à placer mon TCD dans une feuille existante). Le nom de cet onglet est variable (Excel génère un "Feuil2", un "Feuil3", ça dépend du nombre de fois où l'on exécute la macro). Je voudrais donc copier le TCD, supprimer l'onglet, pour ensuite coller le TCD dans un des onglets existants.
    Vous voyez bien le problème : ma sélection copiée n'est plus en mémoire (puisque l'onglet est supprimé).
    Le mini bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ActiveSheet.Range("A1:A8").Select 'Sélection de mon TCD
        Selection.Copy
        ActiveSheet.Delete
        Sheets("Import données").Select 'L'onglet où je veux voir apparaître mon TCD
        Range("N1").Select
        Selection.Paste
    C'est donc bien évidemment la dernière ligne qui provoque l'erreur et se colorie en jaune.
    J'ai testé avec des lignes du style Application.CutCopyMode = Paste mais rien n'y fait...

    Pouvez-vous m'éclairer ?

    Un énorme merci à vous tous et à ce forum,

    Alexis

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    le déroulement de ton code peut simplement etre modifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Range("A1:A8").Copy destination:=Sheets("Import données").Range("N1:N8")
    ActiveSheet.Delete
    A noter que l'on deconseille la plupart du temps de passer par les objects ActiveXXX, la faute aux multiples risques de desactivation =]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2016
    Messages : 27
    Par défaut
    Ah oui, effectivement, c'était pas sorcier, mais je pensais qu'il allait garder en tant qu'active sheet mon onglet existant (que je ne veux surtout pas supprimer).
    Je crois que je n'ai pas encore saisi la différence entre .Activate et .Select

    Merci beaucoup, vous êtes au top,

    Alexis

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

Discussions similaires

  1. [AJAX] Masquer une entrée après suppression
    Par Silverat dans le forum jQuery
    Réponses: 40
    Dernier message: 18/03/2015, 17h07
  2. Rafraichir une div après suppression
    Par spawns dans le forum jQuery
    Réponses: 2
    Dernier message: 15/09/2014, 23h28
  3. [PHP 4] Garder une sélection après un clic
    Par toutoune95800 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2013, 15h27
  4. Réponses: 2
    Dernier message: 17/01/2010, 15h29
  5. coller une sélection d'une feuille excel vers une table access
    Par docjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/01/2008, 17h50

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