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.
XL 2016Récupération des valeurs non nulles d'une colonne
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 !
Bonjour à toutes et à tous.
Je cherche une macro pour récupérer les valeur non nulles d'une colonne A et les mettre dans une colonne B comme une suite et dans le même ordre que dans A, même avec des doublons.
Merci
Bonjour Bentaleb, Chris,
Une autre approche en VBA avec :
VB:
Sub Tri()
Dim tablo, tablo_out, i, indice
Application.ScreenUpdating = False
tablo = Range("A1:A" & Range("A1000000").End(xlUp).Row)
ReDim tablo_out(UBound(tablo))
For i = 1 To UBound(tablo)
If Not IsError(tablo(i, 1)) Then
tablo_out(indice) = tablo(i, 1)
indice = indice + 1
End If
Next i
[B1].Resize(UBound(tablo_out), 1).Value = Application.Transpose(tablo_out)
End Sub
ou peut être plus simple en n'utilisant qu'un seul tableau :
Code:
Sub Tri()
Dim tablo, i, indice
Application.ScreenUpdating = False
tablo = Range("A1:A" & Range("A1000000").End(xlUp).Row)
indice = 1
For i = 1 To UBound(tablo)
If Not IsError(tablo(i, 1)) Then
tablo(indice, 1) = tablo(i, 1)
indice = indice + 1
End If
tablo(i, 1) = ""
Next i
[B1].Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
Re,
Sur 10 000 lignes le tri par array ne prends que 20ms sur mon vieux PC.
Après le choix de la solution dépend de l'utilisation dans le contexte. Un filtre avancé requiert une zone de critères.
- 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