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

Résolu/Fermé
Signaler
-
Messages postés
50
Date d'inscription
dimanche 4 octobre 2015
Statut
Membre
Dernière intervention
24 janvier 2021
-
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 :-)

4 réponses

Messages postés
13335
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
17 janvier 2022
2 324
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
Messages postés
13335
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
17 janvier 2022
2 324
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
Messages postés
13335
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
17 janvier 2022
2 324
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

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
Messages postés
50
Date d'inscription
dimanche 4 octobre 2015
Statut
Membre
Dernière intervention
24 janvier 2021

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