Macro Excel..help

Résolu/Fermé
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009 - 8 nov. 2008 à 03:19
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009 - 8 nov. 2008 à 15:54
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
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
8 nov. 2008 à 09:08
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
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009
8 nov. 2008 à 13:09
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009
8 nov. 2008 à 13:21
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
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
8 nov. 2008 à 13:52
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009
8 nov. 2008 à 15:35
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
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
8 nov. 2008 à 15:52
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 nov. 2008 à 09:13
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
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009
8 nov. 2008 à 13:11
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
PlanetGong Messages postés 55 Date d'inscription vendredi 27 avril 2007 Statut Membre Dernière intervention 1 février 2009
8 nov. 2008 à 15:54
Merci a GBinforme,

Super efficace.

Bonne journée.
0
je ne sais pas pardon
0