Selection d'une plage de cellule variable VBA [Résolu/Fermé]
Signaler
paul 8ç
Normad
- Messages postés
- 1
- Date d'inscription
- mardi 24 juillet 2012
- Statut
- Membre
- Dernière intervention
- 24 juillet 2012
Normad
- 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
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 selection plage variable
- Vbaselection plage variable - Meilleures réponses
- Sélectionner plage de cellule vba - Meilleures réponses
- VBA Excel : sélection d'une plage variable ✓ - Forum - VB / VBA
- Selection d'une plage variable - Forum - VB / VBA
- Selection d'une plage de cellule variable VBA ✓ - Forum - Logiciels
- Exécuter une macro sur une plage variable ✓ - Forum - Excel
- Selection d'une plage avec un adresse variable ✓ - Forum - VB / VBA
1 réponse
Normad
- Messages postés
- 112
- Date d'inscription
- dimanche 6 juin 2010
- Statut
- Membre
- Dernière intervention
- 10 juin 2015
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..