OVH Cloud OVH Cloud

reprendre le format et la valeur d'une série de cellule en VBA

1 réponse
Avatar
phoon
Bonjour,
Je dois copier d'un fichier à un autres plusieurs collone de données.
Les données ne sont pas dans le même ordre dans les deux fichiers
Alors avec une boucle et un tableau, je "prélève" les valeur
var1(1)=selection.offset(0,0).value
var2(2)=selection.offset(1,0).value
ect
puis les colle par la même méthode dans le 2ème fichier

Comment transférerle FORMAT en plus de la valeur
Merci d'avance

1 réponse

Avatar
michdenis
Bonjour phoon,


Voici une façon de faire pour copier un ordre particulier de colonnes d'une feuille vers un autre.
Le principe demeure le même dans le cas où les classeurs sont différents.

Tu vas devoir ajouter un peu de code, si tu tiens à ce que la hauteur et la largeur des colonnes soient la même dans la plage de
destinatiion que celle de la plage source. Les autres caractéristiques "Format" des cellules devraient suivre.

'-------------------------------------
Sub Copie()

'Var = Les colonnes 6,3,1,5,4,2 l'ordre des
'colonnes de ta source que tu veux copier

Dim Var As Variant, Elt As Variant
Var = Array(6, 3, 1, 5, 4, 2)

'Var1 = Les colonnes de la plage de destination
' Var Colonne 6 sera copier dans colonne Var1 colonne x
' Var Colonne 2 sera copier dans colonne Var1 colonne x1
Dim Var1 As Variant, X As Integer
Var1 = Array(1, 2, 3, 4, 5, 6)

For Each Elt In Var
With Worksheets("Feuil1")
.Range(.Cells(1, Elt), .Cells(.Cells(65536, Elt).End(xlUp).Row, Elt)).Copy _
Worksheets("Feuil2").Cells(1, Var1(X))
X = X + 1
End With
Next

End Sub
'-------------------------------------


Salutations!


"phoon" a écrit dans le message de news:
Bonjour,
Je dois copier d'un fichier à un autres plusieurs collone de données.
Les données ne sont pas dans le même ordre dans les deux fichiers
Alors avec une boucle et un tableau, je "prélève" les valeur
var1(1)=selection.offset(0,0).value
var2(2)=selection.offset(1,0).value
ect
puis les colle par la même méthode dans le 2ème fichier

Comment transférerle FORMAT en plus de la valeur
Merci d'avance