Selection d'une plage de cellule variable VBA
Résolu
paul 8ç
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Vba excel sélectionner une plage de cellules variable
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Verrouiller cellules excel - Guide
- Word et excel gratuit - Guide
1 réponse
Tout simplement remplacer 19 par N comme ça :
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..
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..