Vba please help me

Bonjour,

je travail en ce moment sur un fichier excel où j'importe des données et je me suis bloqué sur des fonctions qui me permettent de détecter:
1- la dernière cellule remplie de la ligne par exemple ("A1:M1")
2-la zone replie c.à.d ligne et colonne par exemple ("A1:Z200")
afin qu'elle soient sélectionner et qu'elle subissent des transformations merci de m'aider

mon début de code et:
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.Delete Shift:=xlUp
( ActiveCell.Offset(-1, 0).Range("A1:M1").Select) là où j'ai le problème au lieu de la plage ("A1:M1") je veu que la cellule "M1" soit détecter automatiquement

et la meme chose pour
ActiveCell.Range("A1:M251").Select je veu que la cellule "M251" soit détecter automatiquement

merci d'avance
Configuration: Windows XP
Safari 525.19

1 réponse

  1. Modérateur
    Salut,
    alors :
    1- la dernière cellule remplie de la ligne par exemple ("A1:M1")

    ActiveSheet.Range("A1").Select 'tu te places en A1 si tu veux sélectionner la dernière cell non vide de la 1ère ligne
    Do while Activecell <> "" ' tant que la cellule active est non vide
    Activecell.Offset(0, 1).Select 'tu sélectionnes la cellule suivante (sur la ligne)
    loop 'et hop on recommence
    Activecell.Offset(0, -1).Select 'comme ta dernière boucle dit que tu es sur une cell vide il faut sélectionner la précédente...

    Pour la question 2 si tu veux sélectionner M251 (par exemple) :

    ActiveSheet.Range("A1").Select
    Do while Activecell <> ""
    Activecell.Offset(1, 0).Select 'tu sélectionnes la cellule suivante (sur la colonne)
    loop
    Activecell.Offset(-1, 0).Select ' ici tu sélectionnes la dernière cellule non vide de ta colonne "A"

    Do while Activecell <> ""
    Activecell.Offset(0, 1).Select 'tu sélectionnes la cellule suivante (sur la ligne)
    loop
    Activecell.Offset(0, -1).Select

    et voilà