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 : Sélectionner tout - Visualiser dans une fenêtre à part
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).