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

Résolu
RachelMamin -  
Tony27430 Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   -
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
RachelMamin
 
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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
RachelMamin
 
Merci pour l'info. Voici le lien https://mon-partage.fr/f/rF3umsHf/.
:-)
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
 
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   Statut Membre Dernière intervention  
 
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