Recopie auto format & formule sur plage de données variable

MacroXLamateur Messages postés 1 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 24 mai 2006 - 24 mai 2006 à 15:19
cs_Daranc Messages postés 15 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 12 mai 2010 - 1 juin 2006 à 08:45
Bonjour,

Utilisateur expérimenté d'Excel mais débutant en macro et programmation VB, j'ai un pb que je ne sais pas comment résoudre.

J' importe régulièrement dans Excel une liste détaillée de factures à laquelle j'ajoute des formules après l'avoir mise en forme. J'ai commencé à automatiser la mise en forme et l'ajout de formules par une macro. 
Le nombre de colonnes est fixe, mais le nombre de lignes augmente à chaque importation. 
Donc, aujourd'hui je suis obligé de modifier à chaque fois dans ma macro la dernière cellule du tableau dans laquelle recopier les formules et la mise en forme que j'ai créé par la macro sur la première ligne du tableau.
Je voudrais pouvoir entrer comme variable le numéro de la dernière ligne du tableau avec la fonction InputBox, et que la plage de données où je dois coller formule ou mise en forme soit
automatiquement créée dans la macro sans modification manuelle.

Comment faire ?

Merci de votre aide.

MacroXLamateur

4 réponses

jsem2k1 Messages postés 125 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 12 août 2008 1
25 mai 2006 à 02:40
Salut
Si tu veux savoir la dernière cellule non plaine tu peux précédé ainsi


Range("a1").Select
Selection.End(xlDown).Select

ActiveCell.Offset(1, 0).Range("A1").Select

Et le tour est jouer plus  besoin d'un inputbox

[size=4]The J/size=4 [B)]
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
25 mai 2006 à 12:36
Il me semble que l'on peut aussi mettre
Dim DerLigne As Long
DerLigne = Range("A1").End(xlEnd)

@ ++
Mortalino
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
25 mai 2006 à 12:38
Petite correction :

DerLigne = Range("A1").End(xlDown).Row

@++
Mortalino
0
cs_Daranc Messages postés 15 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 12 mai 2010
1 juin 2006 à 08:45
si tu veut le dernier numero de ligne dans ta feuille tu peut le faire par formule  =nbval(a:a)  ce  qui te premet  également  d'avoir  des formules "qui bougent"  : < indirect(concatener("a1:z";nbval(a:a)) >
ceci rends le tableau variable dans la feuille ( surtout si tu es plus formule que VB)
Salut

Le respect ne se doit pas il se mérite
0
Rejoignez-nous