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 :

erreur 9 sur loInterv=ActivesSheet.ListObjects(1)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    agent administratif
    Inscrit en
    Février 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : agent administratif
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2019
    Messages : 1
    Par défaut erreur 9 sur loInterv=ActivesSheet.ListObjects(1)
    Bonjour à tous,

    j'ai un ptit soucis sur ma ligne [Set loInterv = ActiveSheet.ListObjects(1)]
    --> 'Erreur d'exécution '9' ...

    voici mon code :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    Sub recuperation()
     
    'Déclarer les variables
     
    Dim principal       As Workbook    'fichier récapitulatif
    Dim recup           As Worksheet    'feuille récapitulative
    Dim repertoire      As String    'dossier source
    Dim source          As Workbook  'fichier source
    Dim fichier         As String    'nom du fichier source
    Dim VBA             As Worksheet    'feuille source
    Dim loInterv        As ListObject
    Dim lcInterv        As ListColumns
    Dim lrI             As ListRow
     
        'Désactiver le rafraîchissement de l'écran avant la macro
     
        Application.ScreenUpdating = False
     
        'Ouvrir la feuille source du fichier source
     
        Set principal = ThisWorkbook
        repertoire = "D:\fiches_interventions_ST\fiches_inter" 'Modification nécessaire en cas de changement d'ordinateur
        Set loInterv = ActiveSheet.ListObjects(1)
        Set lcInterv = loInterv.ListColumns
        Set recup = principal.Worksheets("janv2019")
        dlr = recup.Cells(Rows.Count, "B").End(xlUp).Row    ' dernière ligne utilisée sur recup
        fichier = Dir(repertoire & "\*.xls")
        On Error GoTo Erreur
        While fichier <> ""
            If fichier <> principal.Name Then
                Workbooks.Open repertoire & "\" & fichier
                Set source = ActiveWorkbook
                Set VBA = ActiveWorkSheet
                Set lrI = Nothing
                On Error Resume Next
                Set lrI = loInterv.ListRows(lcInterv("fiches interventions").DataBodyRange.Find(fichier, LookIn:=xlValues, lookat:=xlWhole).Row - loInterv.HeaderRowRange.Row)
                On Error GoTo Erreur
                If lrI Is Nothing Then
                    MsgBox "Fiche " & fichier & " non trouvée dans le tableau"
                Else
                    Intersect(lrI.Range, lcInterv("CARSAT").DataBodyRange).Value = VBA.Range("B6").Value
                    Intersect(lrI.Range, lcInterv("NIR").DataBodyRange).Value = VBA.Range("B10").Value
                End If
     
                source.Close False
            End If
            fichier = Dir()
        Wend
        Exit Sub
    Erreur:
        MsgBox "un problème est survenu"
    End Sub

    Cette Macro a pour but de récupérer une donnée (B6, B10 ou autre ...) dans autre classeur et la positionner dans mon tableau récapitulatif.
    L'ActiveSheet s'ouvre bien mais ensuite on passe à MsgBox "un problème est survenu"

    Quelqu'un aurait une idée du problème ???
    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set loInterv = ActiveSheet.ListObjects(1)
    Le message d'erreur "l'indice n'appartient pas à la sélection" t'indique qu'il ne trouve pas ton objet à l'endroit ici ou tu lui indique:
    Ce qui veut dire qu'il n'y a pas de listobjects(1) sur ta feuille active, es-tu sur d'être sur la bonne feuille ? si tu remplaces activesheet par sheets("nom de la feuille") ça devrait marcher

Discussions similaires

  1. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  2. [VB.NET] Erreur OnMouseUp sur Datagrid
    Par daner06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2005, 10h26
  3. [Kylix] erreur time.sur kylix avec redhat 9.0
    Par sumco dans le forum EDI
    Réponses: 4
    Dernier message: 20/05/2004, 15h13
  4. Réponses: 9
    Dernier message: 27/04/2004, 11h01
  5. [VB6] Erreur 9 sur redim preserve
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/10/2002, 17h29

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