Erreur '9' sur excel 2007
Yas
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Erreur '9' sur excel 2007
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide