Bonjour à tous,

Je suis toujours dans mon projet d'automatisation de planning de tournoi sportif (voir ici), et je bloque sur une ligne depuis ce matin...
Voilà le contexte : je crée un dictionnaire de données associant une lettre (correspondant à un groupe) à l'adresse d'une cellule. Illustrons avec un exemple : le groupe A se trouve dans la feuille "wJA", à la cellule "D11". L'adresse est alors : wJAD11. Voilà le code me permettant de remplir mon dico :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
    Dim i As Byte
    Dim k As Byte
    Dim Count As Byte
    Count = 1
    For i = 4 To 14 'sheets
        Sheets(i).Activate
        k = 0
        Do Until Cells(4, 4 + 6 * k).Value = "" 'groupes
            DicoAdresse.Add Convert(Count), ActiveSheet.Name! & Split(Cells(11, 4 + 6 * k).Address(), "$")(1) & Split(Cells(11, 4 + 6 * k).Address(), "$")(2)
            Count = Count + 1
            k = k + 1
        Loop
    Next
Convert est une fonction perso prenant en argument un entier et renvoyant la lettre (string) dont la place dans l'alphabet est l'entier en question.
Jusqu'ici tout va bien, j'ai affiché les keys/items dans un Tableau et j'ai bien ce que je veux.

Je veux ensuite me servir de cette adresse, et c'est là que ca coince.
Voilà comment je procède :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
    Dim inc As Byte 'incrément de la boucle sur les Staffel
    Dim spiel As Integer
    Dim rng As Range
    For inc = 1 To DicoTaille.Count 'NB: DicoTaille défini plus haut, le problème n'est pas là
 
        Dim X As String
        X = Convert(inc)
 
        'On jumpe à l'adresse du staffel
        rng = Sheets(Left(DicoAdresse.Item(X), 3)).Range(Chr(34) & Right(DicoAdresse.Item(X), 3) & Chr(34))
C'est cette dernière ligne qui bloque ; le code de la boucle For continue derrière mais je ne l'ai pas copié.

En gros j'utilise Left et Right pour séparer l'adresse et utiliser une moitié pour activer la feuille que je veux, et l'autre pour la cellule dans cette feuille.

J'utilise Chr(34) pour rajouter des guillemets, et j'obtiens une erreur 1004 (la méthode Range a échoué).
Si j'enlève ces guillemets, j'ai une erreur 91 (variable objet non définie).

Quelqu'un voit le problème ? Pas moi
Merci d'avance pour votre aide.

MJ