détail code vba

akmer

XLDnaute Junior
Bonjour,
Je souhaiterai qu'on m'explique(comme à un enfant de 6ans,lol) et me permettre de mieux comprendre les code vba suivant et savoir si vous pouviez m'expliquer ce que l'ordinateur comprend lui, car j'ai beaucoup de mal à comprendre la logique des formules alors que ces dernières son justes

Public Sub AfficherData()
' Afficher les données }
Dim LigF1 As Long }
Dim LigF2 As Long } J'ai compris
Dim derLig As Long }
Dim LigDebGroup As Long }
Dim DataGroup As String }
Dim Plage As Range }

' Dans Feuil1
Sheets("feuil1").Select } J'ai compris

' Récupération de la dernière ligne remplie en colonne A (j'ai compris)
derLig = Range("A65535").End(xlUp).Row
If derLig < 7 Then Exit Sub

DataGroup = "" ( pourquoi rien?)
LigF2 = 5
ligDeb = LigF2 (pourquoi créer une variable ligDeb étant donné qu'elle est tjr égale à LigF2??)

Après je ne comprend quaziment plus rien :)
' Boucle de la ligne 7 à la dernière
For LigF1 = 7 To derLig
' Si changement de groupe par rapport à la colonne N
' alors saut d'une ligne pour affichage du groupe suivant
If DataGroup <> Range("N" & LigF1).Value Then
' Ligne vide entre chaque groupe
If LigF1 > 7 Then
LigF2 = IIf(LigF2 < ligDeb + 4, LigF2 + 2, LigF2 + 1)
ligDeb = LigF2
End If

' Afficher l'en-tête du groupe
Call AfficherGroupe(LigF1, LigF2)
LigF2 = LigF2 + 2
End If

' Afficher les détails du groupe
Call AfficherDetailGroupe(LigF1, LigF2)
LigF2 = LigF2 + 1

' Valeur du groupe
DataGroup = Range("N" & LigF1).Value
Next LigF1

Merci d'avance et je suis vraiment très reconnaissant de l'aide qu'apporte tous les participant de ce forum
 

Spitnolan08

XLDnaute Barbatruc
Re : détail code vba

Bonjour,

Pour essayer de t'éclairer un peu :
Code:
DataGroup = "" '[COLOR=Green]( pourquoi rien?)[/COLOR] [COLOR=Blue]Initialisation de la variable[/COLOR]
LigF2 = 5
ligDeb = LigF2 '[COLOR=Green](pourquoi créer une variable ligDeb étant donné qu'elle est tjr égale à LigF2??)[/COLOR] [COLOR=Blue]Car à un moment donné ces 2 variables n'ont pas la même valeur dans l'éxecution du code[/COLOR]

'[COLOR=Green]Après je ne comprend quaziment plus rien :-)[/COLOR]
[COLOR=Green]' Boucle de la ligne 7 à la dernière[/COLOR]
For LigF1 = 7 To derLig
[COLOR=Green]' Si changement de groupe par rapport à la colonne N
' alors saut d'une ligne pour affichage du groupe suivant[/COLOR]
If DataGroup <> Range("N" & LigF1).Value Then
[COLOR=Green]' Ligne vide entre chaque groupe[/COLOR]
If LigF1 > 7 Then
LigF2 = IIf(LigF2 < ligDeb + 4, LigF2 + 2, LigF2 + 1) '[COLOR=Blue]LigF2 et LigDeb n'ont pas la même valeur[/COLOR]
ligDeb = LigF2 '[COLOR=Blue]Redonne à LigF2 et LigDeb la même valeur ce qui augmente la valeur de LigDeb de façon différenciée suivant résultat du test précédent[/COLOR]
End If

[COLOR=Green]' Afficher l'en-tête du groupe[/COLOR]
Call AfficherGroupe(LigF1, LigF2) '[COLOR=Blue]Appelle l'éxecution de la macro AfficherGroupe et lui transfère les bonnes variables[/COLOR]
LigF2 = LigF2 + 2
End If

[COLOR=Green]' Afficher les détails du groupe[/COLOR]
Call AfficherDetailGroupe(LigF1, LigF2) '[COLOR=Blue]Appelle l'éxecution de la macro AfficherDetailGroupe et lui transfère les bonnes variables[/COLOR]
LigF2 = LigF2 + 1
[COLOR=Green]
' Valeur du groupe[/COLOR]
DataGroup = Range("N" & LigF1).Value '[COLOR=Blue]Attribue une valeur à la variable DataGroup[/COLOR]
Next LigF1
Cordialement
 

Discussions similaires

Réponses
4
Affichages
355
Réponses
7
Affichages
467

Statistiques des forums

Discussions
314 079
Messages
2 105 475
Membres
109 376
dernier inscrit
padawan88300