Séléction d'une plage à partir de deux colonnes sur un nombre de lignes variables

Light479

XLDnaute Nouveau
Bonjour,

Je suis tout nouveau sur ce site et également sur VBA sous Excel 2007.
Dans le cadre de mon emploi je suis confronté à quelques soucis de connaissance sur ce dernier, et biensur mon ami google ne trouve pas forcément les réponses à toutes mes questions.

Je dois à partir d'un fichier Excel importer un fichier .csv et le coller sur la cellule A7. Les données arrivent jusqu'à la colonne BK et la dernière ligne varie selon le fichier importé.

Une fois coller j'ai 11 formules respectivement notées dans les cellules BL4 BN4 BM4...BV4 à coller sur une plage qui doit aller de BL7:BV7 jusqu'à cette ligne qui varie.

Je me suis creusé les méninges et j'en suis arrivé à la conclusion qu'il fallait que je déclare cette ligne comme une variable. Voici comment j'ai procédé:


Range("A7").Select
Selection.End(xlDown).Select
'Je tombe sur cette dernère ligne qui varie
j = ActiveCell.Row
'Je déclare cette ligne comme une variable
Range("BL4:BV4").Select
Application.CutCopyMode = False
Selection.copy
Range("BL4:BV4:j").Select
'Tentative de sélection de plage qui biensur échoue

Une petite récap au cas où je n'est pas été clair. J'ai besoin de coller des formules sur la plage BL7-BV7 jusqu'à une ligne variable.
Surement que mon vocabulaire ne convient pas à ma demande. Ou que carrément ce n'est absolument pas le bon moyen de procéder, alors si vous avez une idée n'hésitez pas!

Par contre impossible d'attacher les fichiers, ils sont considérés comme "sensibles" pour la société.
Je remercie d'avance ceux qui auront pris la peine de me lire!

Light.
 

Modeste

XLDnaute Barbatruc
Re : Séléction d'une plage à partir de deux colonnes sur un nombre de lignes variable

Bonsoir Light479 et bienvenue,

Si tu repasses par ici, voici de quoi alimenter ta réflexion ...
Lorsqu'on implore à genoux les demandeurs de déposer un extrait de fichier, ce n'est pas une volonté notoire et discutable d'y chercher des infos "croustillantes" qui nous motive ... au contraire on explique chaque fois que l'idée est de permettre à ceux qui se proposeraient d'apporter une réponse, de visualiser le type des données traitées, d'appréhender la "structure" du fichier, etc.
En général, donc on insiste pour que:
  1. le fichier soit anonymisé (en supprimant toutes les infos ou en les remplaçant par des données bidons)
  2. la taille du fichier soit réduite (30 à 50 lignes de données sont déjà suffisantes, si elles sont significatives et représentatives de l'ensemble)

Ta dernière ligne devrait cependant ressembler à:
Code:
Selection.Copy Range("BL5:BV" & j)

Ceci dit, si tu passes un peu de temps sur ce sacré forum, tu liras que nombre d'intervenants conseillent d'éviter l'utilisation des 'Select' (qui font rien que de ralentir l'exécution!). Ainsi, tu pourrais remplacer ton code par:
Code:
j = Range("A7").End(xlDown).Row
Range("BL4:BV4").Copy Range("BL5:BV" & j)
... sous réserve que j'aie bien compris!?
 

Light479

XLDnaute Nouveau
Re : Séléction d'une plage à partir de deux colonnes sur un nombre de lignes variable

Bonjour,

Désole du retard pour la réponse. Ta deuxième formule fonctionne à merveille et je te remercie pour l'info!

Concernant la transmission de donnée, je ferai en sorte dans le futur, si l'occasion se représente, de faire parvenir les fichiers anonymisé.

Encore merci pour l'aide!

Light479
 

Discussions similaires

Statistiques des forums

Discussions
312 147
Messages
2 085 765
Membres
102 968
dernier inscrit
Tmarti