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-E] Erreur methode select classe range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut [VBA-E] Erreur methode select classe range
    Bonjour,

    Quelqu'un saurait-il pourquoi des fois la méthodes select de l'objet range pose des soucis?
    Je m'en suis servi plusieurs fois sans souci mais je dois avouer que cette fois-ci çà me dépasse.

    La méthode copy de la classe Range a échoué
    Voici le code incriminé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Function updateQoSATMAccès()
    
    Dim nameFile As String
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim xlSheet1 As Excel.Worksheet
    Dim xlSheet2 As Excel.Worksheet
    Dim nbUsedRows As Long
    
    nameFile = loadXLS
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(nameFile)
    
    xlBook.Worksheets("Stats1082").Activate
    
    nbUsedRows = xlBook.Worksheets("Stats1082").UsedRange.Rows.Count
    xlBook.Worksheets("Stats1082").Range("A1:I" & nbUsedRows).AutoFilter Field:=7, Criteria1:="NORD ET EST"
    
    Set xlSheet = xlBook.Worksheets.Add
    xlSheet.Name = "Temporaire"
    
    xlBook.Worksheets("Stats1082").Range("A2:I" & nbUsedRows).Copy Destination:=xlBook.Worksheets("Temporaire").Range("A1")
    
     ...
    Et, c'est la portion en rouge qui a des soucis. Pour faire un autre test, à la place de la ligne en rouge j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlBook.Worksheets("Stats1082").Range("A2:I" & nbUsedRows).select
    Et là c'était la méthode delect de la classe range a échoué.

    Merci d'avance,

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    Essaie d'activer la sheet en question ...


    ... parfois, un redemmarage de l'ordinateur corrige qqes problèmes du genre ...


    En espérant que cela suffira

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Bonjour Solkien,

    La sheet est bien activée dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nameFile = loadXLS
    Set xlApp = New Excel.Application
    Set xlBook = xlApp.Workbooks.Open(nameFile)
     
    xlBook.Worksheets("Stats1082").Activate
     
    nbUsedRows = xlBook.Worksheets("Stats1082").UsedRange.Rows.Count
    xlBook.Worksheets("Stats1082").Range("A1:I" & nbUsedRows).AutoFilter Field:=7, Criteria1:="NORD ET EST"
     
    Set xlSheet = xlBook.Worksheets.Add
    xlSheet.Name = "Temporaire"
     
    xlBook.Worksheets("Stats1082").Range("A2:I" & nbUsedRows).Copy Destination:=xlBook.Worksheets("Temporaire").Range("A1")
    Donc à priori çà ne serait pas çà le problème. Par contre je vais essayer de redemarrer le pc et te tenir informé.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Après un redémarrage rien n'a changé.

    Il ne me reste plus que de la persévérance.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    bonjour,
    l'adresse du range n'est pas valide, pour contourner ce probème je n'ai trouvé que la solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a$ = "A2:I" & nbUsedRows
    xlBook.Worksheets("Stats1082").Range(a$).Copy Destination:=xlBook.Worksheets("Temporaire").Range("A1")
    A+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Par défaut
    Bonjour LeForestier,

    Tu me demandes d'utiliser a$ et j'aimerais savoir de quel type serait a$ car j'utilise l'option explicit.

    Merci d'avance

Discussions similaires

  1. méthode select class range échoué
    Par PLH81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/08/2014, 17h03
  2. [XL-2010] erreur 1004 methode delete classe range échouée
    Par emi81 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/03/2013, 17h50
  3. [XL-2003] [VBA] Erreur 1004 - Delete Classe range
    Par mirmoleboss dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/07/2011, 16h53
  4. [XL-2003] Erreur sur la classe Range
    Par PPN83 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/12/2010, 23h26
  5. la methode select de la classe range a échoué
    Par shrekos007 dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 26/05/2007, 15h51

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