Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA entrées_sorties 2 listes alphanum

2 réponses
Avatar
Vincent_C
Bonjour,

Sur une liste en 2 colonnes. je souhaiterais
identifier toutes les entrées et sorties qui constituent les mouvements de
la colonne A à la colone B comme suit dans :
http://cjoint.com/?gpbznSYS02


auparavant j'utilisais ce code qui m'avait été donné sur ce forum, mais en
fait il ne fonctionne qu'avec du numérique :

Sub entrées_sorties_2_listes()
'Les données mois M sont en colonne 1, celles de
'mois M+1 en colonne 2.
'Elles débutent à la ligne 2.
'En fin de traitement, les entrées
'en colonne 3 et les sorties figurent en colonne 4.
'PRE REQUIS = tris des colonnes

Dim I As Long
Dim j As Long
Dim e As Long
Dim s As Long

I = 2
j = 2
e = 2
s = 2

While ActiveSheet.Cells(I, 1).Value <> "" Or ActiveSheet.Cells(j, 2).Value
<> ""
If ActiveSheet.Cells(I, 1) = ActiveSheet.Cells(j, 2) Then
I = I + 1
j = j + 1
Else
If ActiveSheet.Cells(I, 1).Value < ActiveSheet.Cells(j, 2).Value Then
ActiveSheet.Cells(s, 4).Value = ActiveSheet.Cells(I, 1)
I = I + 1
s = s + 1
Else
ActiveSheet.Cells(e, 3).Value = ActiveSheet.Cells(j, 2).Value
j = j + 1
e = e + 1
End If
End If
Wend
End Sub


d'avance merci !

2 réponses

Avatar
JB
Bonjour,

Sub Difference()
ligneEcrit = 2
nblignes = Sheets("feuil1").[A65000].End(xlUp).Row + 1
For I = 2 To nblignes
x = Sheets("feuil1").Cells(I, 1)
If IsError(Application.Match(x, Sheets("feuil1").[b2:b10000], 0))
Then
Cells(ligneEcrit, 3) = x
ligneEcrit = ligneEcrit + 1
End If
Next I
'--
ligneEcrit = 2
nblignes = Sheets("feuil1").[b65000].End(xlUp).Row + 1
For I = 2 To nblignes
x = Sheets("feuil1").Cells(I, 2)
If IsError(Application.Match(x, Sheets("feuil1").[a2:A10000], 0))
Then
Cells(ligneEcrit, 4) = x
ligneEcrit = ligneEcrit + 1
End If
Next I
End Sub

http://cjoint.com/?gph6MTvCs3

JB


On 15 juin, 01:33, Vincent_C
wrote:
Bonjour,

Sur une liste en 2 colonnes. je souhaiterais
identifier toutes les entrées et sorties qui constituent les mouvements de
la colonne A à la colone B comme suit dans :http://cjoint.com/?gpbznSYS 02

auparavant j'utilisais ce code qui m'avait été donné sur ce forum, mais en
fait il ne fonctionne qu'avec du numérique :

Sub entrées_sorties_2_listes()
'Les données mois M sont en colonne 1, celles de
'mois M+1 en colonne 2.
'Elles débutent à la ligne 2.
'En fin de traitement, les entrées
'en colonne 3 et les sorties figurent en colonne 4.
'PRE REQUIS = tris des colonnes

Dim I As Long
Dim j As Long
Dim e As Long
Dim s As Long

I = 2
j = 2
e = 2
s = 2

While ActiveSheet.Cells(I, 1).Value <> "" Or ActiveSheet.Cells(j, 2).Value
<> ""
If ActiveSheet.Cells(I, 1) = ActiveSheet.Cells(j, 2) Then
I = I + 1
j = j + 1
Else
If ActiveSheet.Cells(I, 1).Value < ActiveSheet.Cells(j, 2).Value Then
ActiveSheet.Cells(s, 4).Value = ActiveSheet.Cells(I, 1)
I = I + 1
s = s + 1
Else
ActiveSheet.Cells(e, 3).Value = ActiveSheet.Cells(j, 2).Val ue
j = j + 1
e = e + 1
End If
End If
Wend
End Sub

d'avance merci !


Avatar
Vincent_C
merci beaucoup super !

bonne journée à vous


Bonjour,

Sub Difference()
ligneEcrit = 2
nblignes = Sheets("feuil1").[A65000].End(xlUp).Row + 1
For I = 2 To nblignes
x = Sheets("feuil1").Cells(I, 1)
If IsError(Application.Match(x, Sheets("feuil1").[b2:b10000], 0))
Then
Cells(ligneEcrit, 3) = x
ligneEcrit = ligneEcrit + 1
End If
Next I
'--
ligneEcrit = 2
nblignes = Sheets("feuil1").[b65000].End(xlUp).Row + 1
For I = 2 To nblignes
x = Sheets("feuil1").Cells(I, 2)
If IsError(Application.Match(x, Sheets("feuil1").[a2:A10000], 0))
Then
Cells(ligneEcrit, 4) = x
ligneEcrit = ligneEcrit + 1
End If
Next I
End Sub

http://cjoint.com/?gph6MTvCs3

JB


On 15 juin, 01:33, Vincent_C
wrote:
Bonjour,

Sur une liste en 2 colonnes. je souhaiterais
identifier toutes les entrées et sorties qui constituent les mouvements de
la colonne A à la colone B comme suit dans :http://cjoint.com/?gpbznSYS02

auparavant j'utilisais ce code qui m'avait été donné sur ce forum, mais en
fait il ne fonctionne qu'avec du numérique :

Sub entrées_sorties_2_listes()
'Les données mois M sont en colonne 1, celles de
'mois M+1 en colonne 2.
'Elles débutent à la ligne 2.
'En fin de traitement, les entrées
'en colonne 3 et les sorties figurent en colonne 4.
'PRE REQUIS = tris des colonnes

Dim I As Long
Dim j As Long
Dim e As Long
Dim s As Long

I = 2
j = 2
e = 2
s = 2

While ActiveSheet.Cells(I, 1).Value <> "" Or ActiveSheet.Cells(j, 2).Value
<> ""
If ActiveSheet.Cells(I, 1) = ActiveSheet.Cells(j, 2) Then
I = I + 1
j = j + 1
Else
If ActiveSheet.Cells(I, 1).Value < ActiveSheet.Cells(j, 2).Value Then
ActiveSheet.Cells(s, 4).Value = ActiveSheet.Cells(I, 1)
I = I + 1
s = s + 1
Else
ActiveSheet.Cells(e, 3).Value = ActiveSheet.Cells(j, 2).Value
j = j + 1
e = e + 1
End If
End If
Wend
End Sub

d'avance merci !