OVH Cloud OVH Cloud

Re:(pour Izmi)correspondance cellules vis à vis

2 réponses
Avatar
LSteph
Bonsoir,
le fil est un peu loin,
en supposant a:a libre , dans module standard:

'***
Sub aligntri2()
Dim myn As Long, c As Range, myLast As Long
Application.ScreenUpdating = False
myLast = Application.WorksheetFunction.Max( _
[b65536].End(xlUp).Row, [c65536].End(xlUp).Row)
If myLast > 65536 / 2 Then
MsgBox "trop de lignes"
Exit Sub

End If
ActiveSheet.Range("b2:B" & myLast).Sort _
key1:=[b2]
ActiveSheet.Range("c2:c" & myLast).Sort _
key1:=[c2]
myn = 2
For Each c In Range("b2:c" & myLast)
Cells(myn, 1) = c
myn = myn + 1
Next c
ActiveSheet.Range("a2:a" & myLast * 2).Sort _
key1:=[a2]
For j = 1 To 3
For i = myLast * 2 To 2 Step -1
If Not IsEmpty(Cells(i, j)) And _
UCase(Cells(i, j)) = UCase(Cells(i - 1, j)) Then _
Cells(i, j).Delete xlUp
Next i
Next j
monalign ([b2])
monalign ([c2])
[a:a].Clear
Application.ScreenUpdating = True
End Sub
Private Sub monalign(myr As Range)
myr.Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Text <> _
Cells(ActiveCell.Row, 1).Text Then
ActiveCell.Insert xlDown
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
'***

'lSteph

2 réponses

Avatar
Izmi
Merci ISteph;

J'avais un peu oublié ce fil. Non pas que j'y est renoncé ou qu'il ne
m'interesse plus. Quand on a plusieurs chose à faire on fini par
mettre plusieurs ouvrages sur l'établi et qu'on ne fini pas tous.

Ceci dit ; j'ai testé le code proposé, mais bizarement, tout ce qu'il
fait, c'est qu'il supprime le contenu de la colonne A que je voulais
comparer avec celui de la colonne B.

Merci ;

PS : Je profite de ce fil pour poser une question que j'ai essayé en
vain de mettre sur le forum. Ma question la voici :

Est-il possible de cacher par VBA un dossier et ne pouvoir y accéder
que par code ?
Avatar
Izmi
AIE....AIE... J'ai mal lu. Il fallait laisser la colonne a:a vide.
Merci ISteph. Ca marche très bien.
Mes excuses.

PS : Même ma dernière question est sur le forum, mais je ne l'avais
pas vu non plus. Cela ne prouve qu'une seule chose : Je suis super
fatigué. Pour ne pas continuer à faire des bétises, je vais dormir.
Bonne nuit.