Dechiffrage code avec sheets(ws)

Bonjour à tous

Je suis tout nouveau sur ce forum et j'ai suivi cet été les formations de ce site en cours vba et vba avancé !

Je dois dépanner un fichier excel avec un développement assez pointu.

Sur une des macro, je bug sur les questions ci-dessous auquel je suis demandeur d'info car la je bloque :

- sheets(ws) = est ce que cela implique toutes les feuilles non cachées du fichier excel ? et quelle est l'action fait cette macro

- variable i : n° de semaines ?

- variable j : compte le nombre d'onglets ?

N'hésitez pas si je peux vous donner des précisions.

Merci d'avance

Sub Historique(ws As String)

Sheets(ws).Activate ‘ammb74 : besoin d'info sur WS ????  ****

y = Sheets(ws).Range("A1040000").End(xlUp).Row

'Calcul du stock
NSemaine = Sheets("Rapport").Range("C19") ‘ammb74 : (C18) ****
compteur = 0

AGenceI = Sheets("Rapport").Range("B23") 
BO = Sheets("Rapport").Range("B24") 

AgenceR = Sheets("Rapport").Range("B27") 
GT = Sheets("Rapport").Range("B28") 

Application.Calculation = xlManual

                    For i = 2 To 7 ‘ammb74: ceci concerne les semaines 2 à 7 ?
                            For j = 2 To y
                                If Sheets("Onglet HISTORIQUE").Range("AF" & j).Value > 1 And Sheets("Onglet HISTORIQUE").Range("AB" & j).Value = Sheets("Onglet HISTORIQUE").Range("A" & i) Then
                                compteur = compteur + 1

                                End If
                            Next j
                    Sheets("Onglet HISTORIQUE").Cells(i, NSemaine + 1).Value = compteur
                    compteur = 0
                    Next i

                    For i = 7 To 33
                            For j = 2 To y
                                     If Sheets(ws).Range("AF" & j) > 1 And Sheets(ws).Range("AC" & j) = Sheets("Onglet HISTORIQUE").Range("A" & i) Then
                                    'MsgBox sheets(ws).Range("AH" & i)
                                     compteur = compteur + 1

                                     End If
                            Next j
                        Sheets("Onglet HISTORIQUE").Cells(i, NSemaine + 1).Value = compteur
                        compteur = 0
                    Next i

                    For i = 34 To 39
                            For j = 2 To y
                                     If Sheets(ws).Range("AF" & j) > 1 And Sheets(ws).Range("Z" & j) = Sheets("Onglet HISTORIQUE").Range("A" & i) Then
                                    'MsgBox sheets(ws).Range("AH" & i)
                                     compteur = compteur + 1

                                     End If
                            Next j
                        Sheets("Onglet HISTORIQUE").Cells(i, NSemaine + 1).Value = compteur
                        compteur = 0
                    Next i

                    For i = 34 To 39
                            For j = 2 To y
                                     If Sheets(ws).Range("AF" & j) > 1 And Sheets(ws).Range("AA" & j) = Sheets("Onglet HISTORIQUE").Range("A" & i) Then
                                    'MsgBox sheets(ws).Range("AH" & i)
                                     compteur = compteur + 1

                                     End If
                            Next j
                        Sheets("Onglet HISTORIQUE").Cells(i, NSemaine + 1).Value = compteur
                        compteur = 0
                    Next i

                    ‘ammb74 : Plus de condition pour les semaines 39 à 52 ???? ****

Application.Calculation = xlAutomatic

End Sub

Bonjour

Pas facile sans voir le fichier et toutes les macros... Sinon un premier jet

- sheets(ws) = est ce que cela implique toutes les feuilles non cachées du fichier excel ? et quelle est l'action fait cette macro

ws est une variable qui doit être déclarée et référencée dans un autre macro

- variable i : n° de semaines ?

Non sinon on aurait fait intervenir Nsemaine dans la boucle i.

- variable j : compte le nombre d'onglets ?

je ne pense pas. J concerne plutot les lignes d'une feuille. On part de 2 à à la dernière ligne de la feuille ws

Si vous voulez comprendre mieux le code :

- positionnez vous sur la première ligne de code
- appuyez sur la touche F9 de votre clavier pour mettre un point d'arrêt.
- Démarrer les macros. Une fois que la macro que vous postez sera exécutée elle va s'arrêter sur le point d'arrêt.
- Continuer en appuyant sur la touche F8 pour analyser ce que le code fait

Rechercher des sujets similaires à "dechiffrage code sheets"