Erreur d'execution 9 sur programme recopié
elimazizou
Messages postés
7
Statut
Membre
-
elimazizou Messages postés 7 Statut Membre -
elimazizou Messages postés 7 Statut Membre -
Bonjour,
Débutante en VBA, j'ai un soucis et je n'arrive pas à savoir sa source. J'ai recopié un de mes programme qui fonctionne pour deux fichiers ( un de départ et un d'arrivée) mais quand je souhaite le répliquer dans un nouveau module sur deux autres fichiers, j'ai l'erreur 9: "l'indice n'appartient pas à la sélection" qui s'affiche automatiquement. Je ne sais pas trop quoi faire.
Merci pour votre aide.
voici mon programme:
Sub cash22()
Dim Datestockee As Date
Dim montanttotal As Variant
Workbooks("propre cash 2009 en 2.xls").Activate
Sheets("feuil1").Select 'y'a toujours une feuil1
Cells.Select 'on sélectionne toutes les cellules
Selection.ClearContents 'on clean la feuille pour ne pas mélanger les données
Range("A1").Select
Range("A1").Value = "ISIN"
Range("B1").Value = "montant"
Range("C1").Value = "date"
Range("D1").Value = "coeff"
Range("E1").Value = "cash"
Workbooks("fin cash donnees 2008.xls").Activate
For t = 1 To Sheets.Count
Workbooks("fin cash donnees 2008.xls.xls").Activate
Sheets("feuil" & t).Select
Range("A3").Select
If Range("A3").Value <> "" Then
Selection.End(xlDown).Select
lastrow = Selection.Row
Else
Workbooks("propre cash 2009 en 2.xls").Activate
Sheets("feuil1").Select
Range("A1").Select
Exit Sub
End If
For k = 3 To lastrow
If Cells(k, 1) = "ACTIF NET" Then
For j = 1 To 12
If Cells(2, j) = "MONTANT" Then
montanttotal = Cells(k, j).Value
End If
Next j
ElseIf Cells(k, 1) = "VALEUR LIQUIDATIVE" Then
Datestockee = Cells(k, 3).Value
ElseIf Cells(k, 1) = "RATIO ACTION" Then
coeff = Cells(k, 2).Value
End If
Next k
Cells(70, 1).Value = (1 - coeff) * montanttotal
cashcash = Cells(70, 1).Value
'on revient au fichier de départ
Workbooks("propre cash 2009 en 2.xls").Activate
lig = t + 210
Cells(lig, 1).Value = "Eur Curncy"
Cells(lig, 2).Value = montanttotal
Cells(lig, 3).Value = Datestockee
Cells(lig, 4).Value = coeff
Cells(lig, 5).Value = cashcash
Workbooks("fin cash donnees 2008.xls").Activate
Next t
End Sub
Pourriez-vous m'aider?
Merci beaucoup.
Débutante en VBA, j'ai un soucis et je n'arrive pas à savoir sa source. J'ai recopié un de mes programme qui fonctionne pour deux fichiers ( un de départ et un d'arrivée) mais quand je souhaite le répliquer dans un nouveau module sur deux autres fichiers, j'ai l'erreur 9: "l'indice n'appartient pas à la sélection" qui s'affiche automatiquement. Je ne sais pas trop quoi faire.
Merci pour votre aide.
voici mon programme:
Sub cash22()
Dim Datestockee As Date
Dim montanttotal As Variant
Workbooks("propre cash 2009 en 2.xls").Activate
Sheets("feuil1").Select 'y'a toujours une feuil1
Cells.Select 'on sélectionne toutes les cellules
Selection.ClearContents 'on clean la feuille pour ne pas mélanger les données
Range("A1").Select
Range("A1").Value = "ISIN"
Range("B1").Value = "montant"
Range("C1").Value = "date"
Range("D1").Value = "coeff"
Range("E1").Value = "cash"
Workbooks("fin cash donnees 2008.xls").Activate
For t = 1 To Sheets.Count
Workbooks("fin cash donnees 2008.xls.xls").Activate
Sheets("feuil" & t).Select
Range("A3").Select
If Range("A3").Value <> "" Then
Selection.End(xlDown).Select
lastrow = Selection.Row
Else
Workbooks("propre cash 2009 en 2.xls").Activate
Sheets("feuil1").Select
Range("A1").Select
Exit Sub
End If
For k = 3 To lastrow
If Cells(k, 1) = "ACTIF NET" Then
For j = 1 To 12
If Cells(2, j) = "MONTANT" Then
montanttotal = Cells(k, j).Value
End If
Next j
ElseIf Cells(k, 1) = "VALEUR LIQUIDATIVE" Then
Datestockee = Cells(k, 3).Value
ElseIf Cells(k, 1) = "RATIO ACTION" Then
coeff = Cells(k, 2).Value
End If
Next k
Cells(70, 1).Value = (1 - coeff) * montanttotal
cashcash = Cells(70, 1).Value
'on revient au fichier de départ
Workbooks("propre cash 2009 en 2.xls").Activate
lig = t + 210
Cells(lig, 1).Value = "Eur Curncy"
Cells(lig, 2).Value = montanttotal
Cells(lig, 3).Value = Datestockee
Cells(lig, 4).Value = coeff
Cells(lig, 5).Value = cashcash
Workbooks("fin cash donnees 2008.xls").Activate
Next t
End Sub
Pourriez-vous m'aider?
Merci beaucoup.
A voir également:
- Erreur d'execution 9 sur programme recopié
- Programme demarrage windows - Guide
- Message programmé - Guide
- Mettre en veille un programme - Guide
- Desinstaller un programme sur windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
4 réponses
Bonjour,
tu as
Cordialement.
tu as
Workbooks("fin cash donnees 2008.xls.xls").Activate dans ton code qui doit faire planter l'exécution.
Cordialement.
Merci Chossette!
effectivement je ne me suis pas bien relue.
seulement, j'ai encore la même erreur qui s'affiche et à la 4ème ligne de mon programme,
Workbooks("propre cash 2009 en 2.xls").Activate
Je ne comprends pas pourquoi.
Merci pour ton aide!
Cordialement.
effectivement je ne me suis pas bien relue.
seulement, j'ai encore la même erreur qui s'affiche et à la 4ème ligne de mon programme,
Workbooks("propre cash 2009 en 2.xls").Activate
Je ne comprends pas pourquoi.
Merci pour ton aide!
Cordialement.
Je ne sais pas si ce détail est important, mais pour les 2 fichiers pour lesquels ce programme a marché, le fichier d'arrivée s'appelant "propre cash 2009.xls" dans le programme, a été enregistré bysaremment sous le nom: propre cash 20091
Est ce la cause du fait que la varaible coeff ait fonctionné? Comment alors reproduire cela?
Désolée encore pour tous ces sous-messages.
Merci à vous.
Est ce la cause du fait que la varaible coeff ait fonctionné? Comment alors reproduire cela?
Désolée encore pour tous ces sous-messages.
Merci à vous.