Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
ça dépend un peu comment sont organisées tes données
S'il s'agit d'une liste (base de données ou Tableau), le plus simple est souvent de faire un tri
Sinon, on peut envisager une macro qui fait ça
Sub suplignes()
Application.ScreenUpdating = False
fin = Cells.Find("*", , , , xlByRows, xlPrevious).Row
For i = fin To 1 Step -1
If NbvalJB(Cells(i, 1).Resize(, 7)) = 0 Then Rows(i).Delete
Next i
End Sub
Function NbvalJB(champ As Range)
a = champ
For Each c In a
If c <> "" Then n = n + 1
Next c
NbvalJB = n
End Function
bonjour tous🙂🙂
une autre facon de l'ecrire assez rapide sur une grande plage
Code:
Sub es()
Dim t(), t1(), x As Long, i As Long, y As Long, z As Byte
t = Range("a1:g" & Cells.Find("*", , , , , xlPrevious).Row).Value
ReDim t1(1 To UBound(t), 1 To 7)
For i = 1 To UBound(t)
For z = 1 To 7
If t(i, z) <> "" Then
x = x + 1
For y = 1 To 7: t1(x, y) = t(i, y): Next y
Exit For: End If: Next z: Next i
[a1:g10000].Clear
[A1].Resize(x, 7) = t1
End Sub
Sub Essai()
Set f2 = Sheets("feuil2")
a = [A3:G1000].Value
For k = 1 To 7
Set d = CreateObject("scripting.dictionary")
For i = 3 To UBound(a)
If a(i, k) <> "" Then d(CStr(i)) = a(i, k)
Next i
f2.Cells(2, k).Resize(d.Count) = Application.Transpose(d.items)
Next k
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD