Excel, range avec variable [Résolu]

toosdu87
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Dernière intervention
1 mars 2010
- 12 févr. 2007 à 11:55 - Dernière réponse : PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 13 févr. 2007 à 21:33
Bonjour a tous, je travaille sur VB2005
savez vous s'il est possible de faire ceci:
feuille.Range(

"E5").AutoFill(feuille.Range(
"E5:E240"), Excel.XlAutoFillType.xlFillCopy)

en remplacant le "240" par une variable "Fin_ligne".

De plus si quelqu'un connait du code permettant de sélectionner toute la plage de cellule sans connaître la ligne de fin???

Merci d'avance
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
drikce06
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Dernière intervention
29 mai 2008
- 12 févr. 2007 à 13:59
3
Merci
Exemple:
C'est un peu lourd mais ça marche:



Dim
appxls

As
Microsoft.Office.Interop.Excel.Applicationappxls =


New
Microsoft.Office.Interop.Excel.Applicationappxls.Visible =


True






'Ajouter un nouveau classeur

appxls.Workbooks.Add()







'Enregistrer sous le classeur

appxls.ActiveWorkbook.SaveAs(




"C:\NouveauClasseur"
)


'Recopie automatique de formule et autre






Dim
xlFillDefault

As
Microsoft.Office.Interop.Excel.XlAutoFillTypeappxls.ActiveWorkbook.Worksheets(


"Feuil1"
).range(

"A8"
) = 1appxls.ActiveWorkbook.Worksheets(


"Feuil1"
).range(

"A9"
) = 2appxls.ActiveWorkbook.Worksheets(


"Feuil1"
).Range(

"A8:A9"
).Select()


Dim
i

As



Integer

i = 100


appxls.ActiveWorkbook.Worksheets(




"Feuil1"
).Range(

"A8:A9"
).AutoFill(Destination:=appxls.ActiveWorkbook.Worksheets(

"Feuil1"
).Range(appxls.ActiveWorkbook.Worksheets(

"Feuil1"
).cells(8, 1), appxls.ActiveWorkbook.Worksheets(

"Feuil1"
).cells(i, 1)), Type:=xlFillDefault)appxls.ActiveWorkbook.Close(


False
)appxls.Quit()






 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:

Merci drikce06 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de drikce06
drikce06
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Dernière intervention
29 mai 2008
- 12 févr. 2007 à 12:00
0
Merci
Salut
i=240
feuille.Range("E5").AutoFill(feuille.Range(Cells(5, 5), Cells(i, 5)).Select
Excel.XlAutoFillType.xlFillCopy)

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
toosdu87
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Dernière intervention
1 mars 2010
- 12 févr. 2007 à 12:12
0
Merci
Merci Drikce06,
question peut être bete mais  lorsque je copie ton code, Cells n'est pas déclaré.
J'ai ajouté "feuille" devant donc:
feuille.Range(

"E5").AutoFill(feuille.Range(feuille.Cells(5, 5), feuille.Cells(Fin_ligne, 5)).SelectExcel.XlAutoFillType.xlFillCopy)

Mais cela me génère une erreur
Commenter la réponse de toosdu87
drikce06
Messages postés
2247
Date d'inscription
lundi 29 mai 2006
Dernière intervention
29 mai 2008
- 12 févr. 2007 à 13:20
0
Merci
C'est quoi l'erreur?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Commenter la réponse de drikce06
toosdu87
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Dernière intervention
1 mars 2010
- 12 févr. 2007 à 13:37
0
Merci
En mettant:
feuille.Range("E5").AutoFill(feuille.Range(feuille.Cells(5, 5), feuille.Cells(Fin_ligne, 5)).SelectExcel.XlAutoFillType.xlFillCopy)

j'obtiens l'erreur suivante:

Le type ne correspond pas. (Exception de HRESULT : 0x80020005 (DISP_E_TYPEMISMATCH))
Commenter la réponse de toosdu87
toosdu87
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Dernière intervention
1 mars 2010
- 12 févr. 2007 à 14:20
0
Merci
Ok je me suis inspiré de ce que tu as fait.
Voila ma solution:
feuille.Range(

"E5").AutoFill(feuille.Range(feuille.Cells(5, 5), feuille.Cells(Fin_ligne, 5)), XlAutoFillType.xlFillCopy)

Merci Beaucoup
Commenter la réponse de toosdu87
PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 13 févr. 2007 à 18:10
0
Merci
"réponses acceptées" corrigées...
Commenter la réponse de PCPT
toosdu87
Messages postés
100
Date d'inscription
lundi 3 avril 2006
Dernière intervention
1 mars 2010
- 13 févr. 2007 à 21:16
0
Merci
PCPT la prochaine fois que tu corrige  a ta façon, essai au moins de lire si ce post correspond à la reponse.
Commenter la réponse de toosdu87
PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 13 févr. 2007 à 21:33
0
Merci
toosdu87
-> si j'ai signalé c'est pour permettre à chacun de recevoir l'alerte. libre (et possible) à toi donc de faire "mieux".
aucun de nous n'aurait eu à cliquer dans tous les sens si çà avait été le cas dès le début.

bonne soirée
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.