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 H80010108 2147417848


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Par défaut Erreur H80010108 2147417848
    Bonjour à toutes et à tous!
    Voici mon problème, lorsque je lance la macro, il me renvoie un code d'erreur H80010108 2147417848. Après des recherches sur internet, il s'agirait que "l'objet invoqué s'est déconnecté de ses clients".
    l'erreur serait dûe aux lignes que j'ai mis en rouge, est ce que quelqu'un peut me dire que faire? merci





    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
    Public Sub process_file()
        Dim foundsheet As Integer
        Dim i As Integer
    
        Set ash = ActiveSheet
        
        foundsheet = 0
        For i = 1 To ActiveWorkbook.Worksheets.Count
    
            If ActiveWorkbook.Worksheets(i).Name = "Total Dem" Then
                foundsheet = i
            End If
        Next
        If foundsheet > 0 Then
            ' Pour que le mode DEBUG fonctionne, il faut mettre en commentaire
            ' les 3 lignes suivantes. La copie d'une feuille change le code
            ' et le mode debug est bloqué
            'Application.DisplayAlerts = False
            'ActiveWorkbook.Worksheets(foundsheet).Delete
            'Application.DisplayAlerts = True
            foundsheet = foundsheet - 1
        Else
            foundsheet = 2
        End If
        ash.Copy after:=ActiveWorkbook.Worksheets(foundsheet)
        Set ash = ActiveWorkbook.Worksheets(foundsheet + 1)
        ash.Name = "Total Dem"
                
        Call Stock_Cover_Start
            
        Call CleanSheet
        
       
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Très dangereux code et sûr ne fonctionnera pas à tous les cas, le mieux est d'expliquer le but.

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Par défaut
    en quoi ce code est-il si dangereux? à vrai dire ce n'est pas moi qui l'ai codé, c'est mon chef... et comme il n'a pas le temps de se pencher la dessus, il m'a demandé mon aide pour débuger.. je peux pas vous en dire +, j'aimerais juste que ca fonctionne ;-), une aide s'il vous plait?

    Merci

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    je ne suis pas sur de comprendre ce que veux faire le code exactement mais voici ce que je crois

    c'est repérer la feuille "Total Dem" et si elle n'existe pas la créer sur base de la feuille active.

    les deux gros soucis ici que je vois c'est que

    - si il trouve la feuille avec l'index = à 1, cela va générer un erreur du fait qu'il lui soustrait 1 ( donc égale 0) lorsqu'il va copier la feuille.
    - si il trouve la feuille, il en fait une copie pour la renommer avec le même nom .... pas très bon non plus ça!

    bon si j'ai bien compris voici ce moi je ferais

    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
    Public Sub process_file()
        Dim aSh As Worksheet
        Dim foundsheet As Integer
        Dim i As Integer
     
        On Error GoTo SheetNameNotFound
        Set aSh = ActiveWorkbook.Worksheets("Total Dem")
     
        Call Stock_Cover_Start
     
        Call CleanSheet
     
    SheetNameNotFound:
    ActiveSheet.Copy after:=ActiveWorkbook.Worksheets(2)
    ActiveWorkbook.Worksheets(3).Name = "Total Dem"
    On Error GoTo 0
    Resume
     
    End Sub

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 3
    Par défaut
    @mayekeul: Hello, j'ai essayé de remplacer mon code par ton code mais ca ne marche pas

  6. #6
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,
    c'est bien la preuve que je n'ai surment pas tout compris lol

    c'est toujours la même erreur que tu reçois?

Discussions similaires

  1. [XL-2003] erreur d'execution 2147417848 excel 2003 sp3
    Par kidone dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2009, 11h23
  2. Erreur d'exécution'-2147417848 (80010108)'
    Par koala94s dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/08/2008, 15h16
  3. erreur d'exécution '-2147417848' (80010108)
    Par atoffoli75 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/08/2008, 11h09
  4. 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
  5. Erreur d'exécution '-2147417848 (80010108): Erreur Automation
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/05/2007, 18h09

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