[VBA-E] référence à une plage
bonjour à tous,
une partie de la macro que je suis en train de faire doit copier une plage de cellule.
les étapes dans l'odre:
on choisi les fichiers à ouvrir (normalement 30 fichiers max au format txt)
on les ouvres tous et on le convertis pour avoir des colonnes bien séparées
on a alors ouvert "thisworkbook" et les fichier "01", "02","03"...jusqu'à "30"
on demande quelle(s) cellule(s) nous interresse(nt)
on selectionne donc les cellules sur le dernier fichier ouvert ("30")
une variable contient ces cellules (ex: [D1:D7] en tous cas c'est ce que j'aimerais)
Set liste = Application.InputBox( _
prompt:="sélectionnez les cotes capa", Type:=8)
il est vrai que je veux copier les valeurs, mais j'aimerais avoir à ne selectionner qu'une seule fois les cellule, et ensuite copier ces cellules de chaque fichier, puisque je veux d'abord traiter les cellules avant de copier dans "thisworkbook" c'est là que je bloque. j'ai peur de pas être assez clair, voici un éxemple de traitement (désolé çà doit être brouillon pour vous mais je suis débutant)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| liste.Select (forcément ne marche pas)
Selection.Copy
Range("Q1").Select (pour éviter de compter Q=17)
ActiveSheet.Paste
compteurligne = liste.Count
For counter = 1 To compteurligne
Cells(counter, 18).Select
If Cells(counter, 17) < 0 Then ActiveCell.FormulaR1C1 = "=ABS(RC[-1])"
ActiveCell.FormulaR1C1 = Cells(counter, 17)
Next counter
Cells(1, 19).Select
ActiveCell.FormulaR1C1 = "=max(RC[-1]:R" & compteurligne & "C[-1])"
Workbooks("capafpsa").Worksheets("feuille de saisie").Cells(i, j).FormulaR1C1 = Abs(ActiveCell - op2) * 2 |
en tous cas je vous remercie de votre temps et si ce n'est pas clair, n'hésitez pas (va y'avoir une avalanche là...lol).