Bonjour,
Dans cette première partie de code.
1 2 3 4 5 6
| Worksheets(i).Select
Columns(34).Formula = Columns(34).Value
Columns(35).Formula = Columns(35).Value
Columns(36).Formula = Columns(36).Value
Worksheets(i).Select
Columns(34).Copy |
Alors à moins que la valeur de la variable
i ait changé entre temps pourquoi deux Select ?
Et cette ligne
Columns(x).Formula = columns(x).value ???
Peut se traduire par
Columns(x).Value = Columns(x).Value
Et comme, les 3 colonnes sont contiguës et pas insérées dans une boucle, tu peux utiliser les lettres des colonnes en plaçant les bornes inférieures et supérieures comme cet exemple
Columns("G:I").Value = Columns("G:I").Value. Attention, c'est un exemple. Je sais que
G n'est pas la
34ème colonne.
Première remarque, inutile d'utiliser les
Select,
Activate,
Selection
Il est préférable d'utiliser le bloc
With
1 2 3
| With Worksheets(i)
.Columns("G:I").Value = .Columns("G:I").Value
End With |
Deuxième remarque dans le bloc
With End With, il y a lieu d'utiliser le point d'union afinc de ratacher l'objet
Columns(x) à l'objet Parent
Sheets("parents T1")
1 2 3
| With Sheets("parents T1")
.Columns(x).PasteSpecial xlPasteAll
End With |
Je me suis arrêté là.
Partager