Problème Out of Range vba excel

Résolu
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008 - 20 juin 2008 à 16:21
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008 - 25 juin 2008 à 16:55
Bonjour,
Depuis ce matin je cherche une solution à mon problème et je n'ai rien trouvé.
J'ai un fichier excel avec des macros.
J'ai une erreur quand je declenche ma macro load qui copie une colonne de mon fichier consolidation vers une colonne de mon fichier load.
Error 9 subscript out of range

Workbooks("H:\Template\consolidation.xls").Worksheets("temp").Range(inter).Value = Workbooks("H:\Template\load.xls").Worksheets("Load").Range(inter).Value

(c'est la ligne ou il y a le problème)

J'ai essayé différent script mais toujours la même erreur.

Merci pour votre aide.
A voir également:

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
20 juin 2008 à 18:20
salut,

erreur 9 = l'indice n'appartient pas à la sélection.

Vérifie que tes 2 classeurs soient ouverts, et qu'ils possèdent bien les noms de feuilles que tu as mis (Temp pour 1, et Load pour l'autre)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
20 juin 2008 à 16:46
Salut,

c'est bien d'avoir la ligne qui pose probleme mais il aurai été mieux d'avoir toute les infos concernant la variable inter :
declaration et valeur attribué.

sans ça on pourra pas t'aider

A+
0
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008
20 juin 2008 à 17:14
Dim j As Long
Dim inter As String

j = 600     'a la fin de la boucle

inter = "I" & CStr(j)

merci.
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
20 juin 2008 à 17:25
...

dans une boucle ?

l'erreur apparait des le debut ou durant la boucle ?

tu copies cellule par cellule a l'aide de cette boucle ? waou ! y a d'autre moyen quand meme !

la je vois pas ... donnes nous un peu plus de code

pas besoin  de  CStr(j)  ,   inter = "I" & j   suffit
0

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

Posez votre question
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008
20 juin 2008 à 17:32
Désolé j'ai l'habitude de faire de l'ada et faut tout le temps faire des conversions.

J'ai fait une faute dans inter, c'est :

inter = "I2:I" & (j)
0
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008
20 juin 2008 à 17:33
sans les ( ) autour de j
0
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008
20 juin 2008 à 17:39
Sub Load()


  'All sheets


  Dim i As Integer
  Dim j As Long
  Dim activeSheet2 As String
  Dim lettre As String
  Dim inter As String
  Dim sheet_1 As String
 
  Application.Calculation = xlCalculationManual
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
 
  activeSheet2 = Application.ActiveWorkbook.activeSheet.Name
  If activeSheet2 = "Total units" Then
    lettre = "I"
    sheet_1 = "Units load"
  Else
    lettre = "J"
    sheet_1 = "ASP load"
  End If
 
  Dim shtemp As Worksheet
  Set shtemp = Sheets.Add(After:=Sheets(Sheets.Count))
  shtemp.Name = "temp"


  j = 2
 
  For i = 13 To 600 Step 1
    Sheets(sheet_1).Select
    inter = "R" & CStr(i) & ":DV" & CStr(i)
    Range(inter).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("temp").Select
    inter = lettre & CStr(j)
    Range(inter).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=True
    j = j + 109
  Next i
 
  inter = lettre & "2:" & lettre & j
  Workbooks("H:\Template\consolidation.xls").Worksheets("temp").Range(inter).Value = Workbooks("H:\Template\load.xls").Worksheets("Load").Range(inter).Value
 
  Sheets("temp").Delete
 
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
 
End Sub
0
Freeman014 Messages postés 8 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 26 juin 2008
25 juin 2008 à 16:55
merci j'ai trouver mon problème !
0
Rejoignez-nous