Deplacement de ligne en fin de colonne
Glec
Messages postés
15
Statut
Membre
-
pilas -
pilas -
Bonjour,
Sur VBA Excel, j'aimerais déplacer en fin de liste (avec une ligne d'intervalle) les lignes contenant dans la colonne I un un texte en gras. Je cherche depuis un moment et je ne trouve pas de macro équivalent à celle que j'aimerais réaliser.
D'avance, merci!
Sur VBA Excel, j'aimerais déplacer en fin de liste (avec une ligne d'intervalle) les lignes contenant dans la colonne I un un texte en gras. Je cherche depuis un moment et je ne trouve pas de macro équivalent à celle que j'aimerais réaliser.
D'avance, merci!
A voir également:
- Deplacement de ligne en fin de colonne
- Déplacer colonne excel - Guide
- Partage de photos en ligne - Guide
- Formulaire en ligne de meta - Guide
- Mètre en ligne - Guide
- Trier colonne excel - Guide
1 réponse
Bonjour
Si j'ai bien compris le problème (et si j'arrive pas trop tard) , je propose le morceau de code suivant que j'ai testé et qui fonctionne chez moi :
'dans la feuille active
'trouver la dernière ligne utilisée (dans cet exemple en testant la colonne 1)
IFIN = Columns(1).Find("*", , , , , xlPrevious).Row
IDER = IFIN + 2 ' pour laisser une ligne blanche
For ILIGNE = IFIN To 1 Step -1 ' remonter les lignes de bas en haut
'tester dans cet exemple la colonne 3 en gras
If Cells(ILIGNE, 3).Font.Bold Then
Rows(ILIGNE).Copy 'copier
Rows(IDER).Insert ' insérer à la fin
Rows(ILIGNE).Delete Shift:=xlUp ' supprimer la ligne
IDER = IDER - 1
End If
Next ILIGNE
Est-ce bien la réponse à la question ?
Si j'ai bien compris le problème (et si j'arrive pas trop tard) , je propose le morceau de code suivant que j'ai testé et qui fonctionne chez moi :
'dans la feuille active
'trouver la dernière ligne utilisée (dans cet exemple en testant la colonne 1)
IFIN = Columns(1).Find("*", , , , , xlPrevious).Row
IDER = IFIN + 2 ' pour laisser une ligne blanche
For ILIGNE = IFIN To 1 Step -1 ' remonter les lignes de bas en haut
'tester dans cet exemple la colonne 3 en gras
If Cells(ILIGNE, 3).Font.Bold Then
Rows(ILIGNE).Copy 'copier
Rows(IDER).Insert ' insérer à la fin
Rows(ILIGNE).Delete Shift:=xlUp ' supprimer la ligne
IDER = IDER - 1
End If
Next ILIGNE
Est-ce bien la réponse à la question ?