Macro Excel..help

Résolu
PlanetGong Messages postés 56 Statut Membre -  
PlanetGong Messages postés 56 Statut Membre -
Bonjour,

Quelle commande utiliser dans une macro Excel pour activer une selection jusqu'a la derniere info saisie ?

J'ai des infos dans les colonnes de A a M, mais je souhaite selectionner uniquement de A a F - le probleme est que le nombre de lignes a selectionner est variable.

J'ai trouvé une piste avec la commande LastRecord mais je ne suis pas parvenu a l'utiliser.

Merci d'avance
--

Et c'est en sciant que Leonard devint scie
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Si tu ne sais pas quelle colonne ( A à F) sera la + longue:
    lig = Range("A1:F65536").Find("*", , xlFormulas, , , xlPrevious).Row
    cette formule tient compte d'une cellule avec comme résultat de formule ""

    si tu connais la colonne par ex: E
    lig=range("E65536").end(xlup).row
    0
    1. PlanetGong Messages postés 56 Statut Membre
       
      Bonjour et merci du coup de main.

      En fait, je recois des fichiers qui ont toujours le meme formatage mais différentes longueurs.

      Je veux selectionner toujours les memes colonnes, mais c'est le nombre de lignes qui change.

      Je ne veux selectionner que les lignes avec données en commencant par la ligne 2 (donc de A2 jusqu'a F??)
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > PlanetGong Messages postés 56 Statut Membre
         
        Re, Bonjour gb

        lig = Range("A2:F65536").Find("*", , , , , xlPrevious).Row

        donne la ligne de la dernière donnée en ignorant le résultat de formules renvoyant la valeur ""
        0
      2. PlanetGong Messages postés 56 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Je vais essayer...

        Quelle est ensuite la commande pour selectionner ? Range="A2:F") & lig).Select ???

        Désolé si cela parait stupide mais je débute avec les macro et je me suis attaqué a un projet qui prend plus d'ampleur que je ne pensais !
        0
      3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > PlanetGong Messages postés 56 Statut Membre
         
        re

        On a tous débuté un jour! donc, ne culpabilise surtout pas.

        OK, je ne t'avais pas donné la solution jusqu'au bout!...
        essaies:

        Sub ccm_zonevariable()
        Dim fin As String
        fin = Range("A2:F65536").Find("*", , , , , xlPrevious).Address
        Range("A2:" & fin).Select
        End Sub

        0
      4. PlanetGong Messages postés 56 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut,

        Merci pour ton aide. J'ai finalement pu "bidouiller" avec tes conseils et j'ai réussi. Mon probleme était que les cellules de mes colonnes E & F contenaient une formule retournant "" et donc la macro ces cellules comme non "vide" et les selectionnait.
        Ca marche avec
        lig = Range ("A6000").End(xlup).Row
        Range ("A2:F" & lig).Select

        Merci encore...je poste une nouvelle question pour la suite de mon cauchemar !!!
        0
  2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Tu peux le faire avec
    Cells(1, 1).Resize(UsedRange.Rows.Count, 6).Select

    Avec Cells(1, 1) tu pars de A1 puis tu agrandis du nombre de lignes utilisées et du nombre de colonnes 6 (F)
    0
    1. PlanetGong Messages postés 56 Statut Membre
       
      Salut et merci du coup de main.

      Comment le system trouveras la derniere ligne a selectionner ? C'est la seule variable des fichiers que je recois et je ne veux selectionner que les lignes contenant des données (donc de A2 a F??).

      0
    2. PlanetGong Messages postés 56 Statut Membre
       
      Merci a GBinforme,

      Super efficace.

      Bonne journée.
      0