Comparaison chaque cellule sur 2 lignes
ptitepuce07
-
ptitepuce07 -
ptitepuce07 -
Bonjour,
N'ayant pas assez de connaissances en VBA...
Existe-t-il un code qui me permettrait :
1/ comparer chaque cellule de deux lignes n et n-1 pour un tableau range ("A1:T5204")
'(exemple ligne n-1 et ligne n)
'ligne 5203=n-1 / 7 8 12 18 23 24 28 30 31 34 36 37 41 47 49 52 54 58 63 70
'ligne 5204=n / 4 11 12 14 23 25 26 35 36 37 41 51 54 56 58 59 63 66 68 69
la cellule base (en ligne n) ne sera comparée qu'au nombre de cellule = sa_valeur
' exemple "4" en ligne n ne sera comparé qu'à 7 8 12 et 18 en ligne n-1
'exemple "11" en ligne n ne sera comparé qu'au 11 premières cellules de la ligne n-1
Si sa_valeur>=20 alors comparer sur l'ensemble de la ligne n-1
Si sa_valeur trouvée en ligne n-1 & Si au moins colonne AA & ligne n = valeur"A" à "T"
'exemple 12, 23, 36, 37, 41, 54, 58, 63 sont présents dans les deux lignes
alors inscription dans
colonne V & ligne n: "C"
colonne W & ligne n: "E"
colonne X & ligne n: "I"
colonne Y & ligne n: "J"
colonne Z & ligne n: "K"
colonne AA & ligne n: "M"
colonne AB & ligne n: "O"
colonne AC & ligne n: "Q"
colonne AD & ligne n: ""
colonne AE & ligne n: ""
Passer aux deux lignes suivantes (ligne n = 5203 et ligne n-1 = 5202)
Loop 'jusqu'à ligne 1 et ligne 2 fin d'exécution macro
Merci
N'ayant pas assez de connaissances en VBA...
Existe-t-il un code qui me permettrait :
1/ comparer chaque cellule de deux lignes n et n-1 pour un tableau range ("A1:T5204")
'(exemple ligne n-1 et ligne n)
'ligne 5203=n-1 / 7 8 12 18 23 24 28 30 31 34 36 37 41 47 49 52 54 58 63 70
'ligne 5204=n / 4 11 12 14 23 25 26 35 36 37 41 51 54 56 58 59 63 66 68 69
la cellule base (en ligne n) ne sera comparée qu'au nombre de cellule = sa_valeur
' exemple "4" en ligne n ne sera comparé qu'à 7 8 12 et 18 en ligne n-1
'exemple "11" en ligne n ne sera comparé qu'au 11 premières cellules de la ligne n-1
Si sa_valeur>=20 alors comparer sur l'ensemble de la ligne n-1
Si sa_valeur trouvée en ligne n-1 & Si au moins colonne AA & ligne n = valeur"A" à "T"
'exemple 12, 23, 36, 37, 41, 54, 58, 63 sont présents dans les deux lignes
alors inscription dans
colonne V & ligne n: "C"
colonne W & ligne n: "E"
colonne X & ligne n: "I"
colonne Y & ligne n: "J"
colonne Z & ligne n: "K"
colonne AA & ligne n: "M"
colonne AB & ligne n: "O"
colonne AC & ligne n: "Q"
colonne AD & ligne n: ""
colonne AE & ligne n: ""
Passer aux deux lignes suivantes (ligne n = 5203 et ligne n-1 = 5202)
Loop 'jusqu'à ligne 1 et ligne 2 fin d'exécution macro
Merci
A voir également:
- Comparaison chaque cellule sur 2 lignes
- Supercopier 2 - Télécharger - Gestion de fichiers
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- 2 ecran pc - Guide
2 réponses
Bonjour,
Un essai :
Bon courage
Un essai :
Sub prog() Dim Tblo, Tblo2 Dim TbloF() Dim I As Long, DerLig As Long Dim J As Byte, K As Byte Dim Col Columns("V:AO").ClearContents DerLig = Cells(Rows.Count, 1).End(xlUp).Row ReDim TbloF(1 To DerLig, 1 To 20) Tblo = Range("A1:T" & DerLig).Value For I = UBound(Tblo) - 1 To LBound(Tblo) Step -1 K = 1 Tblo2 = Application.Transpose(Application.Transpose(Cells(I + 1, 1).Resize(1, 20))) For J = 1 To 20 Col = Application.Match(Tblo(I, J), Tblo2, 0) If Not IsError(Col) Then If Col <= Tblo(I, J) Then TbloF(I + 1, K) = Chr(Col + 64): K = K + 1 End If End If Next J Next I Range("V1").Resize(DerLig, 20).Value = TbloF End Sub
Bon courage