Signification formules VBA
aurore
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
je cherche à comprendre une macro VBA dans un fichier que je dois remettre à jour. La voici:
Sub blancheur()
Dim k As Integer, pre As Single, i As Integer, m As Integer
k = 4
pre = 0
i = 4
m = 3
Do While IsEmpty(Sheets("PLANNING SV").Cells(k, 1).Value) = False
x = (Sheets("PLANNING SV").Cells(k, 1).Value)
'instruction A
Do While IsEmpty(Sheets("BASE DONNEES_SV").Cells(m, 1).Value) = False
'1ere instruction
If Sheets("BASE DONNEES_SV").Cells(m, 1).Value = x Then
pre = pre + Sheets("BASE DONNEES_SV").Cells(m, 24).Value
End If
'2eme instruction
Do While Sheets("PLANNING SV").Cells(i, 1).Value <> x
i = i + 1
Loop
'3eme instruction
Sheets("PLANNING SV").Cells(i, 5).Value = pre
i = 4
m = m + 1
Loop
'instruction B
pre = 0
m = 3
'instruction C
k = k + 1
Loop
End Sub
quelqu'un pourrait-il m'expliquer les différentes fonctions demandées.
J'ai pu comprendre que "i" désigné les colonnes d'un de mes onglets "planning SV" et "m" désigné également les colonnes d'un autre onglet "base donnees_sv" me servant dans cette macro.
Le reste des formules est pour moi compliquer à comprendre: que signifie l'ensemble des variables du début "i=4, m=3 ..."
je vous remercie de votre aide
aurore
je cherche à comprendre une macro VBA dans un fichier que je dois remettre à jour. La voici:
Sub blancheur()
Dim k As Integer, pre As Single, i As Integer, m As Integer
k = 4
pre = 0
i = 4
m = 3
Do While IsEmpty(Sheets("PLANNING SV").Cells(k, 1).Value) = False
x = (Sheets("PLANNING SV").Cells(k, 1).Value)
'instruction A
Do While IsEmpty(Sheets("BASE DONNEES_SV").Cells(m, 1).Value) = False
'1ere instruction
If Sheets("BASE DONNEES_SV").Cells(m, 1).Value = x Then
pre = pre + Sheets("BASE DONNEES_SV").Cells(m, 24).Value
End If
'2eme instruction
Do While Sheets("PLANNING SV").Cells(i, 1).Value <> x
i = i + 1
Loop
'3eme instruction
Sheets("PLANNING SV").Cells(i, 5).Value = pre
i = 4
m = m + 1
Loop
'instruction B
pre = 0
m = 3
'instruction C
k = k + 1
Loop
End Sub
quelqu'un pourrait-il m'expliquer les différentes fonctions demandées.
J'ai pu comprendre que "i" désigné les colonnes d'un de mes onglets "planning SV" et "m" désigné également les colonnes d'un autre onglet "base donnees_sv" me servant dans cette macro.
Le reste des formules est pour moi compliquer à comprendre: que signifie l'ensemble des variables du début "i=4, m=3 ..."
je vous remercie de votre aide
aurore
1 réponse
-
Bonjour,
1°) Quand tu présente un code tu dois le formatter en code..c'est déja plus clair à lire.Sub blancheur() Dim k As Integer, pre As Single, i As Integer, m As Integer 'Initialisation des variables k = 4: pre = 0: i = 4: m = 3 'Tant que .. pas clair empty = Vide et False aussi..... Do While IsEmpty(Sheets("PLANNING SV").Cells(k, 1).Value) = False x = (Sheets("PLANNING SV").Cells(k, 1).Value) 'instruction A 'Tant que .. pas clair empty = Vide et False aussi..... Do While IsEmpty(Sheets("BASE DONNEES_SV").Cells(m, 1).Value) = False '1ere instruction If Sheets("BASE DONNEES_SV").Cells(m, 1).Value = x Then pre = pre + Sheets("BASE DONNEES_SV").Cells(m, 24).Value End If '2eme instruction 'Recherche la valeur de x Do While Sheets("PLANNING SV").Cells(i, 1).Value <> x i = i + 1 Loop '3eme instruction 'A trouver la valeur de x et l'attribue a..??? Sheets("PLANNING SV").Cells(i, 5).Value = pre i = 4 m = m + 1 Loop 'instruction B pre = 0 m = 3 'instruction C k = k + 1 Loop End Sub
2°)Soit, ta macro est bourrée d'erreur, soit il faudrait avoir les données pour la comprendre.
A+