Vba please help me

serial-killer Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
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

1 réponse

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
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à
0