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

Résolu
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

  1. 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
    1. 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
  2. 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
    1. Merci pour l'info. Voici le lien https://mon-partage.fr/f/rF3umsHf/.
      :-)
      0
  3. 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
    1. 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
  4. 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