Selection d'une plage de cellule variable VBA [Résolu/Fermé]

Signaler
Messages postés
1
Date d'inscription
mardi 24 juillet 2012
Statut
Membre
Dernière intervention
24 juillet 2012
-
Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
-
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

Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
29
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..