[RESOLU] Compréhension variable tableau

  • Initiateur de la discussion Initiateur de la discussion Orodreth
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Orodreth

XLDnaute Impliqué
Bonjour,

Toujours sur mes correctifs de code, j'ai sous les yeux un code que je comprends dans l'ensemble, sauf une petite partie que je n'arrive pas à saisir.

Il s'agit d'un adressage dans un tableau VBA.

Voici le code en question:

Code:
1 -    'On fait la boucle pour récupérer les données de la feuille "Prog."
2 -    While Sheets("Prog.").Cells(Ligne, 2) <> ""
3 -        ligne_max = ligne_max + 1
4 -        Ligne = Ligne + 1
5 -    Wend
6 -    
7 -    For Ligne = 5 To ligne_max - 1
8 -		For Col = 2 To 200
9 -			tb_prog(i, j) = Sheets("Prog.").Cells(Ligne, Col)
10 -			j = j + 1
11 -		Next
12 -        j = 0
13 -        i = i + 1
14 -    Next
15 -
16 -        ' récupère le numéro de semaine actuel lors de la génération du programme site
17 -        ' pour commencer S+1 il faut prendre S actuelle + 3 ce qui est fait plus bas
18 -        Sheets("Prog Site R").Select
19 -        num_semaine = Sheets("Prog Site R").Cells(1, 26).Value
20 -        col_S1 = num_semaine + 3
21 -        col_S2 = num_semaine + 4
22 -        col_S3 = num_semaine + 5
23 -        col_S4 = num_semaine + 6

Donc, à priori, de ce que j'ai compris de ce code, le tableau est renseigné en travaillant ligne par ligne (à partir de 5), et pour chaque ligne, colonne par colonne, à partir de la colonne 2.
A noter:
- L'indice de base du tableau est 0 (du moins pour la deuxième dimension ...)
- Les colonnes 2 à 4 sont des libellés, le reste des colonnes étant une gestion de planning.

Par contre, dans le code ci-dessus, j'ai du mal à comprendre les lignes 20 à 23.
J'ai beau retourné la question dans tous les sens, je vois pas comment les variables col_S1/col_S2/col_S3/col_S4/ peuvent référencer les bonnes semaines dans le tableau.
Surtout si on considère que l'index 0 du tableau correspond à la deuxième colonne d'Excel ...

Je joins un fichier épuré pour montrer la structure des feuilles excel.

Merci d'avance à ceux/celles qui me liront, et plus encore à ceux/celles qui me répondront.

Cordialement,
Orodreth
 

Pièces jointes

Dernière édition:
Re : Compréhension variable tableau

Bonjour,

pas tout compris moi... de plus dans ton fichier pas de code.... difficile de voir comme ca avec un tout petit bout de code sortie d'une procédure et de son contexte...

bonne journée
@+

Edition : bonjour PierreJean🙂
 
Dernière édition:
Re : Compréhension variable tableau

Bonjour Orodreth

Pour moi Col_S1 Col_S2 ... ne font aucunement référence au tb_prog1 mais a la cellule Z1 de la feuille Prog Site R
Quant au tableau il pourrait être défini plus simplement:

tb_prog1=Sheets("Prog.").range("B5:GR" & Sheets("Prog.").range("B"& rows.count).end(xlup).row)

Edit : Salut Pierrot toujours agréable de te croiser
 
Re : Compréhension variable tableau

Bonjour Pierrot, PierreJean, le forum

Je reposte mon fichier, plus complet, avec la macro complète. Pour ce qui est des données dans le tableau par contre ... confidentiel entreprise 🙁

En fait, la variable tableau me référence un client (Feuille Prog, colonne B), une série d'engins (Feuille Prog, colonne C), un numéro d'engin (colonne D). A partir de la colonne E, ce sont des numéros de semaines (de 1 à 52 par année).
Ce sont ces numéros de semaines qui me gênent dans le bout de code que j'ai posté.
Je n'arrive pas à comprendre comment le tableau VBA récupère les bonnes valeurs.

Les variables col_S1, col_S2, col_S3, col_S4 servent d'adressage dans le tableau VBA. Sinon oui, ils sont basés sur la valeur de la cellule Z1 de la feuille Prog Site R.

Cordialement,
Orodreth
 

Pièces jointes

Re : Compréhension variable tableau

Rebonjour,

Bon, ben j'ai trouvé.

J'ai monté un tableau de correspondance pour les index, et col_S1 correspond bien à S+3.

Pour info, si quelqu'un veut s'amuser à vérifier, en pièce jointe le classeur qui m'a servi à vérifier les correspondances.

Il suffit de modifier la cellule B1.
Le +3 correspond à la semaine suivante, par rapport à son Index dans le tableau VBA.

Merci à vous.

Cordialement,
 

Pièces jointes

Dernière édition:
Re : [RESOLU] Compréhension variable tableau

Re

pour ce que je comprends

c'est cette ligne qui utilise l'info Col_S1 dans le tableau et permet d'avoir les visites

visite = Split(tb_prog(i, col_S1), "&")

Edit : Avais pas vu dernier message : je regarde
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
252
Réponses
7
Affichages
179
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
80
  • Question Question
Microsoft 365 Traitement
Réponses
7
Affichages
79
Réponses
3
Affichages
600
Retour