Selectionner des lignes sous condition
Résolu
Kuartz
Messages postés
852
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Dans un très long tableau, je cherche à sélectionner les lignes entre 2 couleurs. Je m'explique, je sélectionne une cellule du tableau et je veux sélectionner les lignes jusqu'à la prochaine ligne en violet.
J'ai essayé un code mais sans succès :
Merci d'avance pour votre aide.
Cordialement.
Dans un très long tableau, je cherche à sélectionner les lignes entre 2 couleurs. Je m'explique, je sélectionne une cellule du tableau et je veux sélectionner les lignes jusqu'à la prochaine ligne en violet.
J'ai essayé un code mais sans succès :
Sub TEST() DL = Sheets("NATIONAL").Cells(Application.Rows.Count, 23).End(xlUp).Row Ligne = ActiveCell For i = Ligne To DL Do While Range("A" & i).Interior.Color <> RGB(128, 0, 128) Rows(i).Select Loop Next i End Sub
Merci d'avance pour votre aide.
Cordialement.
A voir également:
- Selectionner des lignes sous condition
- Excel cellule couleur si condition texte - Guide
- Partager des photos en ligne - Guide
- Selectionner texte sur pdf - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Excel condition ou - Guide
7 réponses
Bonjour,
2 questions :
1- la couleur violette est une couleur de cellule ou due à une MFC?
2- pourquoi sélectionner?
2 questions :
1- la couleur violette est une couleur de cellule ou due à une MFC?
2- pourquoi sélectionner?
Bonjour,
Essaye ca plutot :
Cordialement,
Essaye ca plutot :
Sub TEST()
DL = Sheets("NATIONAL").Cells(Application.Rows.Count, 23).End(xlUp).Row
ligne = ActiveCell.Row
For i = ligne To DL
If Range("B" & i).Interior.Color = RGB(128, 0, 128) Then
Rows(ligne & ":" & i).Select
End If
Next i
End Sub
Cordialement,
Bonjour,
J'avais fait cela il y a quelque temps, il faudra mettre un point d'arrêt et adapter:
https://forums.commentcamarche.net/forum/affich-31994139-comment-savoir-si-une-cellule-est-colorer-ou-non-sur-vba#2
J'avais fait cela il y a quelque temps, il faudra mettre un point d'arrêt et adapter:
https://forums.commentcamarche.net/forum/affich-31994139-comment-savoir-si-une-cellule-est-colorer-ou-non-sur-vba#2
Je n'ai pas spécialement besoin de ça, la cellule étant colorée en violet sans MFC, pas besoin de condition (si couleur....). Je voudrais juste avoir accès à la ligne après ma cellule sélectionnée jusqu'à la prochaine ligne violette et je rajoute à ma demande (pardon, pas pris en compte au départ) ou jusqu'à la prochaine ligne vide.
Bonjour,
pour la ligne cellule active:
ensuite si la couleur est d'une MFC, prendre le meme test pour le code VBA
pour la ligne cellule active:
Ligne = ActiveCell.Row
ensuite si la couleur est d'une MFC, prendre le meme test pour le code VBA
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Non, ce n'est pas une MFC, simplement une couleur de cellule.
On n'est pas obligé de sélectionner, je vais simplement copier/coller ces données. Je cherche simplement à y avoir accès. Je vais regarder ton lien cs_Le Pivert, merci.
Non, ce n'est pas une MFC, simplement une couleur de cellule.
On n'est pas obligé de sélectionner, je vais simplement copier/coller ces données. Je cherche simplement à y avoir accès. Je vais regarder ton lien cs_Le Pivert, merci.
J'ai essayé ce code mais il ne marche pas :
Pourtant j'avais bon espoir..
Dim Col As Range, C As Range Ligne = ActiveCell.Row For Each C In Range(Cells(Ligne, 1), Cells(5000, 1)) If C.Interior.Color = RGB(128, 0, 128) Then C.Row = Ligne2 Range(Cells(Ligne, 1), Cells(Ligne2, 23)).Select Exit For End If Next End Sub
Pourtant j'avais bon espoir..
Dans mon code tu as tout pour faire ce que tu veux, numéro de ligne et colonne, il faut bien les placer!
Tu as les commentaires
Tu as les commentaires
Trouvé. Le code modifié :
Il me faut encore prévoir que si il n'y a pas de ligne violette, alors jusqu'à la dernière ligne mais ca devrait le faire.
Merci à tous.
Dim C As Range Ligne = ActiveCell.Row For Each C In Range(Cells(Ligne + 1, 1), Cells(5000, 1)) If C.Interior.Color = RGB(128, 0, 128) Then Ligne2 = C.Row Range(Cells(Ligne + 1, 1), Cells(Ligne2 - 1, 23)).Select Exit For End If Next End Sub
Il me faut encore prévoir que si il n'y a pas de ligne violette, alors jusqu'à la dernière ligne mais ca devrait le faire.
Merci à tous.