Selection d'une plage de cellule variable VBA

Résolu/Fermé
paul 8ç Messages postés 1 Date d'inscription mardi 24 juillet 2012 Statut Membre Dernière intervention 24 juillet 2012 - 24 juil. 2012 à 21:26
Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 - 20 mai 2013 à 10:27
Bonjour,

Je suis assez débutant en vba et je veux pouvoir sélectionner une colonne a partir de la cellule A9 et jusqu'à une cellule N variable, je sais que ca doit etre simple mais je ne trouve pas. Voici mon code:
Sub test()

Msg = "Entrez la date de début"
date_debut = "date de début"
pardefault = Range("A9")
marche1 = InputBox(Msg, date_debut, pardefault)
Set masélection = Application.Range("A9")
masélection.Value = marche1

Msg = "Entrez la date de fin"
date_fin = "date de fin"
pardefault = Range("B9")
marche2 = InputBox(Msg, date_fin, pardefault)

Msg = "nombre de jours " & DateDiff("d", marche1, marche2)
Set masélection = Application.Range("B6")
masélection.Value = DateDiff("d", marche1, marche2)

Range("A10").Select
ActiveCell.FormulaR1C1 = "=R[-1]C+R7C2"
N = DateDiff("d", marche1, marche2) + 9
Range("A10").Select
Selection.AutoFill Destination:=Range("A10:A19"), Type:=xlFillDefault</gras>

C'est au niveau de la dernière ligne qu'il faut que je change quelque chose, moi je ne veux pas A19 mais la N ième cellule de la colonne.
Merci beaucoup à ceux qui pourront m'aider

1 réponse

Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 37
20 mai 2013 à 10:27
Tout simplement remplacer 19 par N comme ça :

Selection.AutoFill Destination:=Range("A10:A" & N), Type:=xlFillDefault


Sinon, si je peux me permettre : ce serait mieux de déclarer tes variables, de faire une gestion des erreurs possibles (si le résultat n'est pas une date ou qu'on annule le InputBox par exemple) et d'éviter les Selection ou les entrées de formules qui ralentissent l'exécution du code VBA..
0