L'indice n'appartient pas à la sélection
Bonjour à vous,
J'ai besoin d'aide, je suis perdu. je suis complètement novice dans le VBA, après avoir fait un peu de code en prenant les infos un peu partout sur le net, jusqu'a maintenant tout c'était bien passé.
Mais voila que je reprend un code que je me suis déjà servi et qui fonctionnait très bien, mais la il veut pas !!
Le but du jeu étant de copier 2 cellules (c8 et d18) sur un classeur excel et de les remettre dans un autre classeur sur la première cellule vide d'un tableau.
Donc voici mon code, il me donne le problème à la ligne avec le smile qui pleure
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub equipe1()
Dim estouvertequipe1 As String
estouvertequipe1 = False
For Each fich In Workbooks
If fich.Name = "equipe 1.xlsx" Then estouvertequipe1 = True
Next
If estouvertequipe1 = False Then Workbooks.Open ("C:\VENDANGE\2013\vendangeur\equipe 1.xlsx")
Windows("LIVREUR.xlsm").Activate
Dim w As Integer
Dim wh As Worksheet
Set wh = Workbooks("LIVREUR").Sheets("BL")
With wh1
w = Workbooks("equipe 1.xlsx").Sheets("TOTAL KG").Range("o50").End(xlUp)(2).Row ' << --------- :cry:
Workbooks("equipe 1.xlsx").Sheets("total kg").Range("o" & w) = Workbooks("livreur.xlsm").Sheets("bl").Range("c8")
Workbooks("equipe 1.xlsx").Sheets("total kg").Range("p" & w) = Workbooks("livreur.xlsm").Sheets("bl").Range("d18")
End With
fin
End Sub |
D'avance merci à ceux qui essayerons de m'aidé. Et si l'erreur pouvait mettre expliquer simplement je serai preneur.
Si défois une âme charitable avait un peu de temps devant lui, le but ultime est de venir remplir sur le classeur équipe 1 en fonction de la date en c8 (sur classeur livreur) dans une colonne du tableau qui correspondrai à la même date et bien sur sur la première cellule vide.
Et évidement s'il y a besoin de plus d'info, n'hésiter pas à demander.
Ciao
help. l'indice n'appartient pas à la sélection
Bonjour,
Si la casse a son importance dans le nom des feuilles alors la remarque vaut pour sheets("bl")
On peut d'ailleurs se demander pourquoi avoir défini l'objet "wh" pour ne pas l'utiliser ensuite.
Au demeurant, pour ma formation, est-il correct de typé "wh as workheet" quand le "set wh" comprend également le classeur ? J'aurai plutôt typé "object".
Cordialement
help. l'indice n'appartient pas à la sélection
bonjour Docmarti,
Bien noté ce que tu me dis. Mais alors pourquoi notre amis code t-il les deux lignes suivantes
Code:
Workbooks("equipe 1.xlsx").Sheets("total kg").Range("o" & w) = Workbooks("livreur.xlsm").Sheets("bl").Range("c8")
et non pas:
Code:
Workbooks("equipe 1.xlsx").Sheets("total kg").Range("o" & w) = wh.Range("c8")
Mon questionnement provenait de cette bizarrerie (enfin pour moi !).
Citation:
On peut d'ailleurs se demander pourquoi avoir défini l'objet "wh" pour ne pas l'utiliser ensuite.
Cordialement.
help. l'indice n'appartient pas à la sélection
bonsoir Docmarti,
Pour moi tout est clair.
Ta proposition de code me semble en effet plus cohérente.
cordialement