Comment sélectionner une plage de données - macro

Résolu/Fermé
RachelMamin - 9 avril 2018 à 16:27
Tony27430 Messages postés 53 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 30 janvier 2022 - 19 févr. 2019 à 08:36
Bonjour,

Je souhaite écrire une macro qui me permettrai de sélectionner une plage de données qui a la particularité de ne pas être toujours à la même ligne Excel, qui ne contient pas toujours le même nombre de ligne mais qui commence toujours par le même libellé "Count".
Dans la vie sans macro, j'utilise le fameux Shift + double click sur le bas de la 1ère ligne concernée.
Merci d'avance pour votre aide :-)
A voir également:

4 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
9 avril 2018 à 16:39
Bonjour

Un exemple pour selectionner la plage remplie depuis jusqu'à la fin en colonne B :
Sub selectionner()
Dim LigneD As Long, ligneF As Long
LigneD = Columns(2).Find("Count", , , , xlByColumns, xlPrevious).Row
ligneF = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row
Range("B" & LigneD & ":B" & ligneF).Select
End Sub


Cdlmnt
Via
0
Merci Via,
Je ne suis pas expérimentée donc je complète mon énoncé :
- il y a bien une sélection mais elle ne se fait pas depuis la ligne qui contient le "Count" qui m'intéresse (il y en a plusieurs et je souhaite la deuxième).
- la sélection s'arrête à la dernière ligne de la feuille alors que je souhaite qu'elle s'arrête à la fin de ma plage de données ("prochaine ligne vide").
Un fichier joint serait le bienvenu pour illustrer cela mais je ne vois pas comment faire.
Merci d'avance.
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
9 avril 2018 à 17:32
Re

J'allais te demander un exemple de ton fichier
Tu le télécharges sur mon-partage.fr par exemple, tu fias créer un lien que tu copies et reviens coller ici
Dans ton fichier met en couleur la plage que tu désire selectionner par macro

Dans l'attente
0
Merci pour l'info. Voici le lien https://mon-partage.fr/f/rF3umsHf/.
:-)
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
10 avril 2018 à 17:31
Bonjour

Essaie si cette macro te convient :
Sub selection()
Dim LigneD As Long, ligneF As Long
LigneD = ActiveSheet.Columns(2).Find("Count", , , , xlByColumns, xlNext).Row ' ligne du dernier Count dans la colonne
ligneF = ActiveSheet.Range("B" & LigneD).End(xlDown).Row 'dernière ligne non vide apèrs la précédente (idem que raccourci Ctrl+flèche bas)
Range("B" & LigneD & ":B" & ligneF).Select ' pour selectionner la partie de colonne
'ou pour selectionner la partie du tableau remplacer la ligne précédente par : Range("A" & LigneD & ":AA" & ligneF).Select
End Sub

Cdlmnt
Via
0
RachelMamin
28 mai 2018 à 12:45
Bonjour Via,

Désolée pour le délai de ma réponse mais il n'est pas trop tard pour te dire un grand MERCI pour ta dernière macro, j'ai enfin pu me pencher dessus aujourd'hui et ça fonctionne parfaitement! Youpi!
:-) Je suis super contente :-)

Rachel
0
Tony27430 Messages postés 53 Date d'inscription dimanche 4 octobre 2015 Statut Membre Dernière intervention 30 janvier 2022
19 févr. 2019 à 08:36
Bonjour,

Pour faire suite à la délimitation de tableau,
J'ai réalisé une macro qui incrémente une valeur à partir de la cellule C5, mais sans limite de fin.
Je veux que ces données soit maximum jusqu' C17. Quelqu'un a peut-être l'info..
Voila la base de ma macro.

Private Sub Worksheet_Change(ByVal Target As Range)
'Désactive l'évènement
Application.EnableEvents = False
'modification dans la cellule C5
i = 5
While Cells(i, 3).Value <> ""
i = i + 1
Wend
Cells(i, 3).Value = Range("G11").Value
'Réactive l'évènement
Application.EnableEvents = True
End Sub

La valeur de "G11" me soit renvoyé jusqu'à la cellule C17, soit maximum 17 Fois.
Merci des informations de chacun.
0