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

Access Discussion :

Automation : pb d'objet


Sujet :

Access

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Points : 51
    Points
    51
    Par défaut Automation : pb d'objet
    Bonjour,

    J'essaye de créer une modification d'un excel depuis access afin d'importer ma base de données ensuite.
    J'ai essayé de rentrer le code suivant mais malgré les tutos, l'objet range ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Dim xlApp As Excel.Application
        Dim xlSheet As Excel.Worksheet
        Dim xlBook As Excel.Workbook
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open("C:\Suivi.xlsm")
     
        Set xlSheet = xlBook.ActiveSheet
        xlSheet.Range("I:I,K:K,Q:Q").Select
        xlSheet.Range("Q1").Activate
        Selection.Copy
        Sheets.Add After:=ActiveSheet
        ActiveSheet.Paste
    Le range et le Selection ne fonctionne pas.
    Pourriez vous m'aider svp ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 257
    Points : 19 408
    Points
    19 408
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Il faudrait ouvrir une discussion sur le forum Excel, plus approprié dans ce cas.

    Peut-être essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    xlSheet.Range("I1,K1,Q1").EntireColumn.Select
    ...
    Sans garantie

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Comme tu es sur un système français essaye en remplaçant les , par des ;.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlSheet.Range("I:I;K:K;Q:Q").Select
    Sinon
    1. va dans Excel et lance l'enregistreur de macros
    2. Exécute à la main ce que tu veux faire par code.
    3. Arrète l'enregistreur.
    4. Va voir le code généré par Excel.


    C'est généralement un bon point de départ même si ce n'est pas forcément la solution optimale.

    Et en effet, comme c'est un problème du côté de Excel, comme l'a suggéré User , le forum de Excel est là pour cela.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 93
    Points : 51
    Points
    51
    Par défaut
    D'accord merci beaucoup !
    Je fais déjà ça régulièrement mais merci de la réponse

  5. #5
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Je ne pense pas qu'il soit possible en VBA de copier en une seule instruction 3 lignes non contigues, d'ailleurs cela ne marche pas dans excel non plus
    Voici un exemple de copie qui fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xlSheet.Range("i1").EntireRow.copy
    xlSheet.Range("q1").EntireRow.insert
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  6. #6
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut Automation : pb d'objet
    Bon, on n'est pas dans XL, mais exceptionnellement .......

    La sélection d'une feuille est d'un range dépend de la version XL que l'on a. Il te faut essayer les 2 cas de figures
    Parfois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("feuil1").range("a1").select
    fonctionne bien
    parfois, il faut l'écrire en 2 lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sheets("feuil1").select
    range("a1").select

Discussions similaires

  1. Erreur Automation -2147417848 avec objet de type SSUltraGrid
    Par krugarka dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/10/2007, 10h29
  2. [VBA-E] Automation, déconnexion d'objet
    Par kawel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/08/2006, 17h49
  3. L'objet Range - automation excel
    Par Celia1303 dans le forum Access
    Réponses: 6
    Dernier message: 21/12/2005, 17h03
  4. VBA/xl/97 Msg L'objet n'est pas source d'événemt automation
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2005, 12h48

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