Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
914 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Erreur d'exécution 9

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur d'exécution 9

n°2154966
dimateo
Posté le 29-08-2012 à 17:36:53  profilanswer
 

Bonjour,
 
Voici le début du code avec lequel j'ai un problème :
 
Sub Macro1()
 
' Ouverture fichier à analyser
 
    repertoire = Worksheets("SUIVI EXE" ).Cells(4, 4).Value
    fichier = Worksheets("SUIVI EXE" ).Cells(5, 4).Value
    Application.Workbooks.Open "" & repertoire & "\" & fichier & ".xls"
 
' Initialisation des variables
 
    'l est la ligne en cours d'analyse sur feuille 1
    l = 3
    'l_2 est la ligne d'écriture sur feuille 2
    l_2 = 2
     
' Création des feuilles de synthèse
 
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Feuil1" ).Select
    Sheets("Feuil1" ).Name = "FCE DBT-RBT"
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Feuil2" ).Select
    Sheets("Feuil2" ).Name = "FCE VLT"
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Feuil3" ).Select
    Sheets("Feuil3" ).Name = "FCE RDT"
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Feuil4" ).Select
    Sheets("Feuil4" ).Name = "FCE OH"
     
' Mise en place du filtre
 
    Rows("2:2" ).Select
    Selection.AutoFilter
     
' Sélection OL exclusive
 
    ActiveSheet.Range("$A$2:$AH$387" ).AutoFilter Field:=1, Criteria1:="<>*PRO*" _
        , Operator:=xlAnd, Criteria2:="<>*PRA*"
         
' Tri alphabétique
 
    ActiveWorkbook.Worksheets("SUIVI EXE" ).AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("SUIVI EXE" ).AutoFilter.Sort.SortFields.Add Key:= _
        Range("A2:A387" ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
        :=xlSortNormal
    With ActiveWorkbook.Worksheets("SUIVI EXE" ).AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
     
' Traitement FCE DBT-RBT
 
    Worksheets("SUIVI EXE" ).Activate
    fiche = Worksheets("SUIVI EXE" ).Cells(l, 1).Value
    compare = Left(Worksheets("SUIVI EXE" ).Cells(l, 2).Value, 8)
    Worksheets(2).Activate
    If compare = "IDEBK-2C" Then
        Worksheets("FCE DBT-RBT" ).Cells(l_2, 2).Value = fiche
        l_2 = l_2 + 1
    End If
     
    l = l + 1
     
End Sub
 
 
J'ai alors le message : "Erreur d'exécution 9, l'indice n'appartient pas à la sélection".
Avez-vous une idée sur la cause de ce message et sur sa résolution éventuelle?
 
Merci par avance.

mood
Publicité
Posté le 29-08-2012 à 17:36:53  profilanswer
 

n°2155007
Arl Guhr
Posté le 29-08-2012 à 23:52:40  profilanswer
 

sur quelle ligne pointe le debuger?
 
par hasard, "Worksheets("SUIVI EXE" ).Cells(l, 2).Value" à bien toujours au moins 8 charactères, jamais vide?
 
ligne

Code :
  1. compare = Left(Worksheets("SUIVI EXE" ).Cells(l, 2).Value, 8)


n°2155024
dimateo
Posté le 30-08-2012 à 08:59:53  profilanswer
 

Le debuger ne s'affiche pas. Le message s'affiche avant lui, sans possibilité de l'utiliser.
Oui "Worksheets("SUIVI EXE" ).Cells(l, 2).Value" est bien jamais vide.

n°2155137
Arl Guhr
Posté le 30-08-2012 à 20:49:50  profilanswer
 

Donc il va falloir le faire "à la main"
 
Ajoute des

Code :
  1. msgbox "1"
  2. msgbox "2"
  3. msgbox "3"


 
Pour voir jusqu'où ton code s’exécute.
et quelle instruction foire
 
sinon, ici un gars dit qu'il serait prudent d'ajouter "Thisworkbook." devant tes "worksheets("
 
 
edit : sinon, c'est pas hasardeux ça dans ta macro?

Code :
  1. Worksheets(2).Activate


 
Edit 2: Il semble que tu ouvre un autre fichier excel en même temps.
Tu devrais tenter de faire  
 

Code :
  1. dim remote as workbook
  2. Set remote = Application.Workbooks.Open "" & repertoire & "\" & fichier & ".xls"


 
Et ensuite quand tu utilise des sheets(.... de l'un ou l'autre :  
remote.worksheets(...........
ou  
Thisworkbook.worksheets(........
 
Sinon excel ne va pas savoir trouver/identifier les feuilles dont tu as besoin.
 


Message édité par Arl Guhr le 30-08-2012 à 21:03:43

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Erreur d'exécution 9

 

Sujets relatifs
Erreur d'exécution 1004erreur d'execution
erreur d'exécution scripterreur execution, compilation
Erreur d'éxecution '6' - Dépassement de capacitéErreur d'exécution Microsoft VBScript: Cet objet ne gère pas cette pro
VBA : Erreur d'exécution '-2147417848 (80010108)Erreur d'execution '1004'
beaucoup d'erreur l'hors d'execution veuiller m'aidererreur éxécution 2465, impossible de trouver le champ résultat.
Plus de sujets relatifs à : Erreur d'exécution 9


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR