• Initiateur de la discussion Initiateur de la discussion Max
  • Date de début Date de début

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 !

M

Max

Guest
Bonjour a tous
Cette petite macro sélectionne une plage et classe par ordre alphabétique, mais comment faire pour qu'elle ne me classe pas les lignes vides en premier
merci de votre aide
max


Range('A4:Q137').Select
Selection.Sort Key1:=Range('A4'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.ScrollRow = 4
 
Bonjour Max

une solution serait, si tu le peux, de supprimer les lignes vides avant ou après l'exécution de la macro

For I = 4 to 137
If Range('A' & I) = '' Then ' vu que tu trie selon les cellules de la colonne A
Row(I).Delete Shift:=xlUp
Next I

ceci devrait te convenir
 
Merci Jacques

J'ai fait cela mais ça bloque sur Row

Range('A4:Q137').Select

Selection.Sort Key1:=Range('A4'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.ScrollRow = 4
For I = 4 To 137
If Range('A' & I) = '' Then ' vu que tu trie selon les cellules de la colonne A
Row(I).Delete Shift:=xlUp
 
Salut jacques
ça avance..
la il me met NEXT sans FOR



Range('A4:Q137').Select

Selection.Sort Key1:=Range('A4'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.ScrollRow = 4
For I = 4 To 137
If Range('A' & I) = '' Then ' vu que tu trie selon les cellules de la colonne A
Rows(I).Delete Shift:=xlUp
Next I

End Sub
 
décidemment, je ferais bien d'aller me coucher et de plus je n'ai pas bu de Duvel (André comprendra)

il manque :

End If

Range('A4:Q137').Select

Selection.Sort Key1:=Range('A4'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.ScrollRow = 4
For I = 4 To 137
If Range('A' & I) = '' Then ' vu que tu trie selon les cellules de la colonne A
Rows(I).Delete Shift:=xlUp
End If
Next I

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
740
Réponses
17
Affichages
1 K
Réponses
6
Affichages
1 K
B
  • Question Question
Réponses
2
Affichages
776
Benjy51190
B
L
Réponses
9
Affichages
1 K
Réponses
2
Affichages
892
Retour