Bonjour

Je suis nouveau dans le domaine du VBA et alors que je codais une macro simple l'erreur 1004 (la méthode range de l'objet Global a échoué) est apparue. J'ai fait pas mal de recherches sur cette erreur mais il semble qu'il s'agisse d'un problème différent pour chaque cas et je n'ai pas trouvé comment résoudre le mien.
La macro est sensée tirer une valeur aléatoire dans la colonne A, et n'est pas achevée, mais sera sensée le faire aussi dans B C D E F. Ce qui compte c'est l'erreur que j'ai surligné, et que je n'arrive pas à comprendre.

Voilà le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
Sub Tirage_aleatoire()
'
' Tirage_aleatoire Macro
' Macro enregistrée le 05/12/2015 par Asimonu
'
Sheets("Feuil1").Select
Dim ligne As Long
Dim nbobjets As Long
Dim cellule As String
Dim colone As String
colone = "H" 'exemple
ligne = 2 'Après le nom de la ville
Dim ligneobjets As Long 'Ligne d'affichage de l'objet dans la liste tirée
ligneobjets = 8 'après le nom de la ville et les nb d'objets
Dim coloneobjets As String
Dim objetchoisi As String
While ligne <= 7
    cellule = "H" + Trim(Str(ligne)) 'quantité d'un objet
    nbobjets = Range(cellule).Value
    coloneobjets = "A"
    While nbobjets <> 0
        cellule = coloneobjets + Trim(Str((Range(coloneobjets + "1").Value) * Rnd() + 2)) 'objet choisi
        objetchoisi = cellule
'-------------------------------------------------------------------------------------------------------------------------------
        Range(colone + Str(ligneobjets)) = objetchoisi 'dans la cellule de l'obj en H on met ce dernier
'-------------------------------------------------------------------------------------------------------------------------------
        ligneobjets = ligneobjets + 1
        nbobjets = nbobjets - 1
        Wend
    ligne = ligne + 1
    ligne = ligne + 1
    Wend
End Sub
Merci