Bonjour à tous,
Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu
d'une cellule pour ne pas coder en dur dans la macro.
Exemple j'ai dans une macro :
Sheets("Data AEH").Select
Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de
la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme :
Sheets("Data Param").Select
MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la
macro a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o)
Daniel
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry
Bonjour Ducados
Je ne réponds pas directement à la question, mais si la cellule Oxxxxx ets la dernière cellule remplie de la colonne, on peut assez facilement la retrouver : range ("O65536").end(xlup) (recherhce de la première cellule vide en partant du bas). Ce test peut etre fait avant le lancement de la macro
@+ thierry
Bonjour à tous, Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu d'une cellule pour ne pas coder en dur dans la macro. Exemple j'ai dans une macro :
Sheets("Data AEH").Select Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme : Sheets("Data Param").Select MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la macro a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o) Daniel
Bonjour Ducados
Je ne réponds pas directement à la question, mais si la cellule Oxxxxx
ets la dernière cellule remplie de la colonne, on peut assez facilement
la retrouver : range ("O65536").end(xlup) (recherhce de la première
cellule vide en partant du bas). Ce test peut etre fait avant le
lancement de la macro
@+ thierry
Bonjour à tous,
Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu
d'une cellule pour ne pas coder en dur dans la macro.
Exemple j'ai dans une macro :
Sheets("Data AEH").Select
Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de
la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme :
Sheets("Data Param").Select
MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la
macro a chaque fois que le nombre de lignes à traiter a changé.
Je ne réponds pas directement à la question, mais si la cellule Oxxxxx ets la dernière cellule remplie de la colonne, on peut assez facilement la retrouver : range ("O65536").end(xlup) (recherhce de la première cellule vide en partant du bas). Ce test peut etre fait avant le lancement de la macro
@+ thierry
Bonjour à tous, Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu d'une cellule pour ne pas coder en dur dans la macro. Exemple j'ai dans une macro :
Sheets("Data AEH").Select Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme : Sheets("Data Param").Select MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la macro a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o) Daniel
AV
Set MyRange = Range("'Data AEH'!A2:O" & ['Data Param'!B2])
PS : c'est pas une bonne idée de laisser des espaces dans les noms... Exemple : Dans la cas présent ça oblige à mettre une partie des références 3D entre apostrophes AV
Set MyRange = Range("'Data AEH'!A2:O" & ['Data Param'!B2])
PS : c'est pas une bonne idée de laisser des espaces dans les noms...
Exemple : Dans la cas présent ça oblige à mettre une partie des références 3D
entre apostrophes
AV
Set MyRange = Range("'Data AEH'!A2:O" & ['Data Param'!B2])
PS : c'est pas une bonne idée de laisser des espaces dans les noms... Exemple : Dans la cas présent ça oblige à mettre une partie des références 3D entre apostrophes AV
papou
Bonjour avec quelquechose comme ça : Dim MyRange As Range Set MyRange = Range("A1", Range("E65536").End(xlUp)) Où tu remplaceras E par la colonne qui t'intéresse. Attention toutefois que les données soient uniformes, c'est à dire qu'il y ait autant de lignes dans ta dernière colonne que dans la 1ère, parce que s'il y en a moins, la plage de cellules ne sera pas bonne. Cordialement Pascal
"Ducados" a écrit dans le message de news:
Bonjour à tous, Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu d'une cellule pour ne pas coder en dur dans la macro. Exemple j'ai dans une macro :
Sheets("Data AEH").Select Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme : Sheets("Data Param").Select MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la macro a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o) Daniel
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net
Bonjour
avec quelquechose comme ça :
Dim MyRange As Range
Set MyRange = Range("A1", Range("E65536").End(xlUp))
Où tu remplaceras E par la colonne qui t'intéresse.
Attention toutefois que les données soient uniformes, c'est à dire qu'il y
ait autant de lignes dans ta dernière colonne que dans la 1ère, parce que
s'il y en a moins, la plage de cellules ne sera pas bonne.
Cordialement
Pascal
"Ducados" <BLAducadosBLA@tiscali.be> a écrit dans le message de news:
mn.833b7d54cce66a91.30722@tiscali.be...
Bonjour à tous,
Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu
d'une cellule pour ne pas coder en dur dans la macro.
Exemple j'ai dans une macro :
Sheets("Data AEH").Select
Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de la
cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme :
Sheets("Data Param").Select
MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la macro
a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o)
Daniel
--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Bonjour avec quelquechose comme ça : Dim MyRange As Range Set MyRange = Range("A1", Range("E65536").End(xlUp)) Où tu remplaceras E par la colonne qui t'intéresse. Attention toutefois que les données soient uniformes, c'est à dire qu'il y ait autant de lignes dans ta dernière colonne que dans la 1ère, parce que s'il y en a moins, la plage de cellules ne sera pas bonne. Cordialement Pascal
"Ducados" a écrit dans le message de news:
Bonjour à tous, Je voudrais pouvoir dans des macro VBA Excel 2003, utiliser le contenu d'une cellule pour ne pas coder en dur dans la macro. Exemple j'ai dans une macro :
Sheets("Data AEH").Select Set MyRange = Range("A2:O44553")
Je voudrais remplacer dans le Set MyRange, 'O44553', par le contenu de la cellule B2 de la feuille "Data Param" qui contient 44553
donc quelque chose comme : Sheets("Data Param").Select MaxLg = MyRange.Cells(1, 2).Value
Set MyRange = Range("A2:O"&MaxLg)
ou tout autre solution qui me permette de ne pas devoir modifier la macro a chaque fois que le nombre de lignes à traiter a changé.
Merci beaucoup de votre aide ;o) Daniel
-- Ceci est une signature automatique de MesNews. Site : http://www.mesnews.net