Signification formules VBA

Fermé
aurore - Modifié par irongege le 26/05/2010 à 15:35
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 26 mai 2010 à 15:34
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

1 réponse

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 mai 2010 à 15:34
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+
0