Erreur '9' sur excel 2007

Yas -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je me galère avec une macro. Quand je la lance, elle m'affiche :
Erreur d'exécution '9'
L'indice n'appartient pas à la sélection.

Si vous avez une idée pour m'en sortir.
Ci-dessous la macro et une astérix à la ligne en surbrillance quand je lance le débogage :

Sub creafiche()
Application.ScreenUpdating = False
' mise en forme des données Access vers Excel
Dim NOMRUB(200) As String
Dim valeurs(200) As Variant

Dim i, j, k, nbv As Integer
Dim numaff As String
Dim ongletXL, onglet2 As String
Dim nomLocal As String
Dim CodeFiche As String
Dim CARAC As String
Dim pos As Integer
Dim depart As Double

i = 0

Application.Worksheets("PTD").Select
Application.Range("B1").Select

While ActiveCell <> "EOL"
i = i + 1
NOMRUB(i) = ActiveCell.Value
ActiveCell.Offset(0, 1).Activate
Wend
nbv = i

Application.Range("C2").Select
numaff = ActiveCell.Value

ActiveWorkbook.SaveAs Filename:= _
"Fiche_Local_" & numaff & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

Columns("J:J").Select
Selection.Replace What:="/", Replacement:="_", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Application.Worksheets("PTD").Select
Application.Range("E2").Select
ActiveWorkbook.Names.Add Name:="org", RefersToR1C1:=ActiveCell
'
'
' boucle principale
'
While ActiveCell <> ""
Application.Worksheets("PTD").Select
' Nom Onglet Excel
ongletXL = ActiveCell.Offset(0, -3).Value & "_" & ActiveCell.Offset(0, 4).Value & "_" & ActiveCell.Offset(0, 3).Value
If Len(ongletXL) > 31 Then ongletXL = Left$(ongletXL, 31)

ActiveCell.Offset(0, -3).Activate
For k = 1 To nbv
valeurs(k) = ActiveCell.Value
ActiveCell.Offset(0, 1).Activate
Next k

Application.Worksheets("Données").Select
Application.Range("B1").Select
For i = 1 To nbv
ActiveCell.Value = valeurs(i)
ActiveCell.Offset(1, 0).Activate
Next i

' exporte en MHT et réimporte dans le classeur, en dernier

Sheets("Formulaire").Select
With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
ActiveWorkbook.Path & "\TEMPO.mht", "Formulaire", "", xlHtmlStatic, _
"Fiche_Local_220398_18647", "")
.Publish (False)
.AutoRepublish = False
End With

Sheets("Formulaire").Select

Workbooks.Open Filename:=ActiveWorkbook.Path & "\TEMPO.mht"
Sheets("TEMPO").Select
Sheets("TEMPO").Copy After:=Workbooks("Fiche_Local_" & numaff & ".xls").Sheets(3)

Application.Worksheets("TEMPO").Select
Application.Worksheets("TEMPO").Name = ongletXL

' fermeture de tempo
Windows("TEMPO.mht").Activate
ActiveWorkbook.Close
Sheets("Données").Select
Columns("B:B").Select
Selection.ClearContents
Application.Range("B1").Select

Application.Worksheets("PTD").Select
Application.Range("org").Select
ActiveCell.Offset(1, 0).Activate
ActiveWorkbook.Names("org").Delete
ActiveWorkbook.Names.Add Name:="org", RefersToR1C1:=ActiveCell

'retour boucle principale

Wend
Application.ScreenUpdating = True
a = MsgBox("TRAITEMENT TERMINE", vbInformation)
End Sub
A voir également:

1 réponse

Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Astérix a du rejoindre Obelix ! il n'est plus là.
1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
C'est une idée fixe ? ;-)
0