1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
'vu que le test 1 a échoué, on cherche à l'aide d'une boucle For de transéférer les valeurs de la colonne A feuille -1 dans les lignes correspondantes dans la colonne A feuille actuelle
Function Previous(ByRef pLigne As Variant)
Dim comm As Variant, ligne As Variant, bln As Boolean, isheet As Variant
comm = ActiveSheet.Previous.Cells(Rows.Count, 1).End(xlUp).Row
For ligne = 2 To comm
MsgBox (ligne)
If IsEmpty(Cells(ligne, 1)) Then
For isheet = ActiveSheet.Index + 1 To Worksheets.Count
bln = False
'MsgBox ("A" & ligne) 'la macro reconnait les lignes recherchées dans la feuille précédente
If Not IsError(comm) Then
bln = True
Exit For
End If
If ActiveSheet.Cells(pLigne, 2) = ActiveSheet.Previous.Cells(ligne, 2) Then
Previous = ActiveSheet.Previous.Cells(ligne, 1).Value
End If
Next isheet
End If
Next ligne
End Function
Sub test()
Dim comm As Variant, ligne As Variant, bln As Boolean, isheet As Variant, x As Variant
Dim newcomm As Variant, newligne As Variant, newbln As Boolean, newisheet As Variant
comm = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For ligne = 2 To comm
If IsEmpty(Cells(ligne, 1)) Then
For isheet = ActiveSheet.Index + 1 To Worksheets.Count
bln = False
'MsgBox (ligne)
If Not IsError(comm) Then
bln = False
Exit For
End If
ActiveSheet.Cells(ligne, 1).Value = Application.Run("Previous", ligne)
Next isheet
End If
Next ligne
End Sub
'la macro permet de "scanner" chaque ligne et à chaque ligne on appel
' à la fonction, qui, va récupérer toutes les valeurs de la feuille précédente
'elle est censé comparer les valeurs entres elles et voir si elles ont
'les mêmes valeurs, si la valeur est la même, alors les données de la colonne A
'sont transmises dans les lignes correspondantes
'Je n'arrive pas à appeler une fonction dans la macro , et c'est la fonction citée plus haut |
Partager