DEBOGAGE MACRO 2010

debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012 - 2 févr. 2012 à 12:01
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012 - 6 févr. 2012 à 14:58
Bonjour à tous et à toutes.


Donc j'ai une macro que j'essaie avec tant de mal de déboguer mais je ne trouve pas la coquille.

Cette macro fonctionne très bien sous 2003 mais pas sous 2010.

l'erreur est sur cette partie du code

 On Error Resume Next
    Workbooks(Base_Hibiscus_reelle).Activate
    If Err.Number <> 0 Then
        Err.Clear
        flag_base_en_ligne = False
        Application.StatusBar = "Ouverture de la base Hibiscus choisie"
        Workbooks.Open Filename:=Chemin_serveur & Base_Hibiscus_reelle, Password:=PWH
        If Err.Number <> 0 Then
            msg = "ATTENTION : problème avec la base " & Base_Hibiscus_reelle & Chr(10) & Chr(10) _
                    & "Merci de contacter le SVP en lui précisant le contexte où vous vous trouvez"
            Style = vbOKOnly + vbCritical + vbDefaultButton1
            Title = "       Message d'erreur"
            reponse = MsgBox(msg, Style, Title)
            Application.StatusBar = False
            End
        End If
    Else
        flag_base_en_ligne = True
    End If
    On Error GoTo 0


Des que je fais un mode pas à pas ,l'instruction If Err.Number <> 0 est toujours vrai et donc affiche toujours le message d'erreur "msg" indiqué dans la conditionnelle.

Les variables sont tous en Public.
Quand je retire le On error Resume Next cela m'affiche
Erreur d'excution 9
L'indice n'appartient pas a la selection pourtant dans les valeurs des variables locales j'ai bien ceci
Base_Hibiscus_reelle : "Base_Hibiscus_RP.xls" : Variant/String

Base_Hibiscus_reelle n'est pas vide..

d'ou pourait venur le probleme?
Quelqu'un aurait une idée ?

Help:oops::oops:
Merci à tous et à toutes

30 réponses

NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
2 févr. 2012 à 12:52
Bonjour,

Donc, c'est que Ton WorkBook n'est pas ouvert ou a changé de nom.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
2 févr. 2012 à 13:00
Bonjour NHenry,

Alors j'ai fais un MSg BOX

MsgBox Chemin_serveur & Base_Hibiscus_reelle et cela m'affiche le bon chemin du fichier.

Effectivement le fichier n'est pas ouvert car dans le if il y a cette intruction qui est censé ouvrir le fichier.

Workbooks.Open Filename:=Chemin_serveur & Base_Hibiscus_reelle, Password:=PWH

Donc ce que j'ai tenté c'est d"'ouvrir manuellement le fichier et ensuite d'executé la macro mais il y a toujours le meme message d'erreur
Help

Merci à toi en tout cas
0
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
2 févr. 2012 à 13:14
Bonjour,

Liste les noms de tous les Workbook et regardes, il faut peut être le niom complet.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 févr. 2012 à 13:23
L'indice n'appartient pas a la selection pourtant dans les valeurs des variables locales j'ai bien ceci
Base_Hibiscus_reelle : "Base_Hibiscus_RP.xls" : Variant/String

Un nom de classeur, dans la collection WorkBooks, n'a pas d'extension
et donc :
Workbooks(Base_Hibiscus_reelle).Activate
=
Workbooks"(Base_Hibiscus_RP.xls").Activate
=
plantage
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
2 févr. 2012 à 13:45
Salut ucfoutu,

Etant donné que Base_Hibiscus_reelle est déclaré en public avec
Base_Hibiscus_RP.xls ,cela signifie qu'il faudrait que lui affecte la valeur Base_Hibiscus_RP pour qu'il active le fichier ?

Merci à toi
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
2 févr. 2012 à 13:55
re,

Donc j'ai fais ceci :
Workbooks"(Base_Hibiscus_RP").Activate et j'ai retirer le On Error Resume Next
mais j'ai toujours erreur d'execution 9,L'indice n'appartient pas a la selection pourtant dans les valeurs des variables

Merci à toi en tout cas
0
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
2 févr. 2012 à 14:01
Bonjour,

Comme j'ai dit, listes tous les nom des Workbooks ouvert avec une boucle et regardes.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
2 févr. 2012 à 14:14
re Nhenry

Donc je fais ceci

If Err.Number <> 0 Then
        Err.Clear
        flag_base_en_ligne = False
        Application.StatusBar = "Ouverture de la base Hibiscus choisie"
        Workbooks.Open Filename:=Chemin_serveur & Base_Hibiscus_reelle, Password:=PWH
        MsgBox Chemin_serveur & Base_Hibiscus_reelle
        

            
            For Each wb In Workbooks
            
            MsgBox "les classeurs ouverts sont " & wb.Name
            
            Next


Lorsque j'affiche les classeurs ouverts effectivement Base_Hibiscus_reelle qui au correspond a Base_Hibiscus_RP.xls n'est pas affiché donc il n'est pas ouvert..
0
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
2 févr. 2012 à 19:07
Bonjour,

Ouvres-le et relances la macro, pour voir.
Bien que en regardant le nom des tes autres WorkBooks, tu devrais pouvoir deviner.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
3 févr. 2012 à 10:03
Bonjour,

Cela fait exactement le meme problème..

Quelqu'un aurait une idée pour solutionner cela?


MErci à tous et à toutes
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
3 févr. 2012 à 16:00
Re ,

Petite info supplémentaire,je retire ces deux lignes de code :
On Error Resume Next
Workbooks(Base_Hibiscus_reelle).Activate

et je tente d'ouvrir le classeur avant le IF et j'obtiens ce message d'erreur :

Erreur d'execution -2147021892 (80070bbc)

Office à détecté un problème avec ce ichier .Pour la sécurité de votre Ordinateur ,ce fichier ne peut pas être ouvert...

Qu'est ce que cela signifie...

 
     ' On Error Resume Next
    ' Workbooks(Base_Hibiscus_reelle).Activate
     Workbooks.Open Filename:="D:\x0ASUISS\Desktop" & "Base_Hibiscus_RP.xls", Password:=PWH
 
    If Err.Number <> 0 Then
        Err.Clear
        flag_base_en_ligne = False
        Application.StatusBar = "Ouverture de la base Hibiscus choisie"
         'Workbooks.Open Filename:=Chemin_serveur & Base_Hibiscus_reelle, Password:=PWH
        ' Workbooks.Open Filename:="D:\x0ASUISS\Desktop" & "Base_Hibiscus_RP.xls", Password:=PWH
 
 
        'Pour vérifier tous les classeurs ouverts
        For Each wb In Workbooks
        MsgBox "les différents classeurs ouverts sont :" & wb.Name
 
        Next
 
 
 
        If Err.Number <> 0 Then
            msg = "ATTENTION : problème avec la base " & Base_Hibiscus_reelle & Chr(10) & Chr(10) _
                    & "Merci de contacter le SVP en lui précisant le contexte où vous vous trouvez"
            Style = vbOKOnly + vbCritical + vbDefaultButton1
            Title = "       Message d'erreur"
            reponse = MsgBox(msg, Style, Title)
            Application.StatusBar = False
            End
        End If
    Else
        flag_base_en_ligne = True
    End If
    On Error GoTo 0
' 
0
NHenry Messages postés 15110 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 6 avril 2024 159
4 févr. 2012 à 01:06
Bonjour,

Je n'ai jamais eu cette erreur.
Tu peux voir peut être ce lien :
http://www.vbfrance.com/forum/sujet-ERREUR-EXECUTION-2147021892-80070BBC_1528661.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 févr. 2012 à 08:13
Et que se passe-t-il lorsque, depuis l'explorateur, tu double-cliques sur ce fichier ?
Le classeur s'ouvre-t-il ?
Egalement une erreur ou non ?

Il me semble que ce serait là mon tout premier réflexe

Fais donc ce geste et dis-nous.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
6 févr. 2012 à 10:05
Bonjour Ucfoutu,

Donc lorsque j'ouvre le fichier directement ,tout d'abors je saisi le mot de passe car celui-ci est protégé.

Puis maintenant celui-ci s'ouvre normalement sans message en haut sur la barre,car dans les options excel j'ai demandé qu'il soit ouvert en mode protégé..

Je ne vois vraiment tout cela ça pourait provenir

Merci à toi
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 févr. 2012 à 10:18
Bizarre.
On va essayer alors d'isoler le problème.
Rentre dans ton classeur depuis l'explorateur.
Elève sa protection
Sauvegarde
Ferme

relance ton appli et dis-nous son comportement


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
6 févr. 2012 à 10:49
Re Ucfoutu,

J'ai donc comme tu me l'a conseillé retirer la protection,sauvegardé,fermé,
et relancé la macro mais c'est Idem...

Ce qui me pourrait fou c'est que sur un poste sous 2003 ca fonctionne très bien , mais sous 2010 la macro ne s'execute pas correctement...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 févr. 2012 à 11:37
C'est vraiment bizarre.
Je ne possède pas Excel 2010, mais veux ne pas croire qu'il est ici le responsable
Nous allons alors faire un petit essai ===>>
Ouvre un nouveau classeur tout neuf
mets-y (sur une feuille) un bouton de commande avec ce code
Dim toto As Object
  Set toto = GetObject("D:\x0ASUISS\Desktop\Base_Hibiscus_RP.xls")
  toto.Application.Visible = True

Lance et dis-nous à quel point de l'ouverture il arrive, sans le mot de passe. Tu devrais logiquement recevoir un message d'invite à entrer le mot de passe.
Si non ===>> j'en perds mon latin, à moins qu'il n'y ait sur ta machine d'autres protections de sécurité que nous ignorons

Si ou ===>> donne le mot de passe et dis-nous la réaction

Attention : après avoir cliqué sur CommandButton1 : soit patient (si le fichier est lourd, il faudra du temps).

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
6 févr. 2012 à 12:08
Re Ucfoutu,

Donc j'ai dans une nouvelle feuille, fais ceci

Sub test
Dim toto As Object
Set toto = GetObject("D:\x0ASUISS\Desktop\Base_Hibiscus_RP.xls")
toto.Application.Visible = True

End Sub




Puis ,j'ai affecter la macro a un bouton.
Lorsque j'ai cliqué sur le bouton,cela m'a demandé le mot de passe du fichier,puis une fois le mot de passe saisit ,En appuyant sur OK
J'ai obtenu l'erreur suivante:

Erreur d'execution 536604048 (e0041270)
Erreur Automation.
0
debutVBAEXCEL Messages postés 32 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 6 février 2012
6 févr. 2012 à 12:20
re,

Sinon en faisant directement comme ceci

Sub test
Workbooks.Open "D:\x0ASUISS\Desktop\Base_Hibiscus_RP.xls"

end sub

Une fois le mot de passe saisit,apres avoir cliqué sur OK
Il s'affiche

Erreur d'execution 2147021892
Office a detecté un problème avec ce fichier .Pour la sécurité de votre Ordianteur,ce fichier ne peut pas etre ouvert...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 févr. 2012 à 12:31
Tu sembles bien être dans un cas répertorié" .
D'où tiens-tu donc ta version de Excel 2010 ?
Quant et comment l'as-tu activée ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous